JavaNameandType.st
changeset 356 861abc393bc7
parent 244 30a32734cc47
child 454 38f590639d65
--- 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 $'
 ! !