JavaConstantPool.st
author cg
Thu, 07 Aug 1997 13:19:56 +0000
changeset 203 67af98594672
parent 171 4669a5e3d44a
child 206 2200b9091b9e
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
89
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     1
Array subclass:#JavaConstantPool
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     2
	instanceVariableNames:'owner'
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     3
	classVariableNames:''
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     4
	poolDictionaries:''
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     5
	category:'Java-Reader-Support'
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     6
!
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     7
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     8
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
     9
!JavaConstantPool methodsFor:'accessing'!
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    10
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    11
owner
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    12
    "return owner"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    13
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    14
    ^ owner
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    15
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    16
    "Created: 28.6.1996 / 21:12:22 / cg"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    17
!
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    18
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    19
owner:something
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    20
    "set owner"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    21
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    22
    owner := something.
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    23
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    24
    "Created: 28.6.1996 / 21:12:22 / cg"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    25
! !
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    26
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    27
!JavaConstantPool methodsFor:'printing & storing'!
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    28
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    29
displayString
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    30
    owner isNil ifTrue:[
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    31
        ^ '*** unowned ConstantPool'
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    32
    ].
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    33
    ^ 'ConstantPool of ' , owner fullName
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    34
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    35
    "Created: 28.6.1996 / 21:13:41 / cg"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    36
    "Modified: 28.6.1996 / 21:20:26 / cg"
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    37
! !
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
    38
171
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    39
!JavaConstantPool methodsFor:'queries'!
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    40
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    41
referesToMethodNamed:aJavaMethodName
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    42
    self do:[:constItem |
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    43
        (constItem isMemberOf:JavaMethod) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    44
            constItem name = aJavaMethodName ifTrue:[^ true].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    45
        ] ifFalse:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    46
            (constItem isMemberOf:JavaMethodref) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    47
self halt.
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    48
                constItem name = aJavaMethodName ifTrue:[^ true].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    49
            ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    50
            (constItem isMemberOf:JavaUnresolvedMethodrefConstant) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    51
                self halt.
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    52
            ]
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    53
        ]
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    54
    ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    55
    ^ false
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    56
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    57
    "Modified: 29.7.1997 / 17:38:35 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    58
    "Created: 29.7.1997 / 17:39:41 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    59
!
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    60
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    61
refersToMethod:aJavaMethod
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    62
    self do:[:constItem |
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    63
        (constItem == aJavaMethod) ifTrue:[^ true].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    64
        (constItem isMemberOf:JavaMethodref) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    65
            self halt.
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    66
        ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    67
        (constItem isMemberOf:JavaUnresolvedMethodrefConstant) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    68
            self halt.
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    69
        ]
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    70
    ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    71
    ^ false
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    72
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    73
    "Modified: 29.7.1997 / 17:36:49 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    74
    "Created: 29.7.1997 / 17:39:19 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    75
!
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    76
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    77
refersToMethodNamed:aJavaMethodName
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    78
    self do:[:constItem |
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    79
        (constItem isMemberOf:JavaMethod) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    80
            constItem name = aJavaMethodName ifTrue:[^ true].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    81
        ] ifFalse:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    82
            (constItem isMemberOf:JavaMethodref) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    83
                constItem name = aJavaMethodName ifTrue:[^ true].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    84
            ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    85
            (constItem isMemberOf:JavaUnresolvedMethodrefConstant) ifTrue:[
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    86
                self halt.
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    87
            ]
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    88
        ]
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    89
    ].
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    90
    ^ false
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    91
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    92
    "Modified: 29.7.1997 / 17:38:35 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    93
    "Created: 29.7.1997 / 17:39:24 / cg"
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    94
! !
4669a5e3d44a checkin from browser
cg
parents: 135
diff changeset
    95
203
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
    96
!JavaConstantPool methodsFor:'special'!
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
    97
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
    98
updateClassRefsFrom:oldClass to:newClass
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
    99
    self keysAndValuesDo:[:index :constItem |
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   100
        constItem == oldClass ifTrue:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   101
            self at:index put:newClass
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   102
        ] ifFalse:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   103
            constItem isNumber ifFalse:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   104
                constItem isString ifTrue:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   105
                    "/ nothing done ...
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   106
                ] ifFalse:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   107
                    (constItem isMemberOf:(Java java_lang_String)) ifTrue:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   108
                        "/ nothing done ...
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   109
                    ] ifFalse:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   110
                        constItem isJavaClass ifFalse:[
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   111
                            constItem updateClassRefsFrom:oldClass to:newClass
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   112
                        ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   113
                    ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   114
                ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   115
            ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   116
        ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   117
    ]
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   118
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   119
    "Modified: 7.8.1997 / 15:00:10 / cg"
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   120
! !
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   121
135
098936234135 *** empty log message ***
cg
parents: 89
diff changeset
   122
!JavaConstantPool class methodsFor:'documentation'!
89
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
   123
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
   124
version
203
67af98594672 *** empty log message ***
cg
parents: 171
diff changeset
   125
    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaConstantPool.st,v 1.4 1997/08/07 13:19:09 cg Exp $'
89
3f6da952c7c6 intitial checkin
cg
parents:
diff changeset
   126
! !