JavaNameandType.st
author cg
Sat, 16 May 1998 12:39:02 +0000
changeset 356 861abc393bc7
parent 244 30a32734cc47
child 454 38f590639d65
permissions -rw-r--r--
checkin from browser

Object subclass:#JavaNameandType
	instanceVariableNames:'name signature'
	classVariableNames:'KnownNamesAndTypes'
	poolDictionaries:''
	category:'Java-Reader-Support'
!


!JavaNameandType class methodsFor:'instance creation'!

name:aString signature:signature
    |idx nt|

"/    KnownNamesAndTypes notNil ifTrue:[
"/        idx := KnownNamesAndTypes findFirst:[:nt | nt signature == signature and:[nt name = aString]].
"/        idx ~~ 0 ifTrue:[
"/            nt := KnownNamesAndTypes at:idx.
"/            (nt ~~ 0 and:[nt notNil]) ifTrue:[
"/                ^ nt
"/            ]
"/        ]
"/    ].
    nt := self new name:aString signature:signature.
"/    KnownNamesAndTypes isNil ifTrue:[
"/        KnownNamesAndTypes := WeakIdentitySet new.
"/    ].
"/    KnownNamesAndTypes add:nt.
    ^ nt

    "Created: / 15.4.1996 / 16:17:14 / cg"
    "Modified: / 16.5.1998 / 02:59:54 / cg"
! !

!JavaNameandType methodsFor:'accessing'!

name
     ^ name 

    "Created: 15.4.1996 / 16:16:47 / cg"
!

name:aString signature:aSignature
     name := aString asSymbol.
     signature := aSignature asSymbol

    "Created: 15.4.1996 / 16:16:47 / cg"
!

signature
     ^ signature 

    "Created: 15.4.1996 / 16:16:47 / cg"
! !

!JavaNameandType methodsFor:'comparing'!

= aNameandType
    name ~= aNameandType name ifTrue:[^ false].
    ^ signature = aNameandType signature

    "Created: 19.8.1997 / 13:58:29 / cg"
!

hash
    ^ name hash bitXor:signature hash

    "Created: 19.8.1997 / 13:59:03 / cg"
! !

!JavaNameandType methodsFor:'printing & storing'!

displayString
    ^ self class name , '(name:' , name displayString, ' signature:' , signature displayString , ')'

    "Created: 15.4.1996 / 16:32:40 / cg"
! !

!JavaNameandType methodsFor:'queries'!

isUnresolved
    ^ false


! !

!JavaNameandType methodsFor:'special'!

updateClassRefsFrom:oldClass to:newClass
    "/ nothing done here

    "Created: 7.8.1997 / 15:12:25 / cg"
! !

!JavaNameandType class methodsFor:'documentation'!

version
    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.8 1998/05/16 12:39:02 cg Exp $'
! !