--- a/JavaNameandType.st Wed May 13 13:33:04 1998 +0000
+++ b/JavaNameandType.st Sat May 16 12:39:02 1998 +0000
@@ -9,9 +9,26 @@
!JavaNameandType class methodsFor:'instance creation'!
name:aString signature:signature
- ^ self new name:aString signature:signature
+ |idx nt|
- "Created: 15.4.1996 / 16:17:14 / cg"
+"/ 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'!
@@ -77,5 +94,5 @@
!JavaNameandType class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.7 1997/08/19 13:29:56 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.8 1998/05/16 12:39:02 cg Exp $'
! !