Java.st
changeset 699 f222b26cbd3e
parent 694 e76b0c9144c0
child 700 9b8a1133d748
--- a/Java.st	Mon Dec 18 15:29:16 2000 +0000
+++ b/Java.st	Mon Dec 18 15:29:28 2000 +0000
@@ -17,7 +17,7 @@
 Object subclass:#Java
 	instanceVariableNames:''
 	classVariableNames:'Classes UnresolvedClassRefs ClassPath SourceDirectories JavaHome
-		Java_lang_String Java_lang_Class PrettyPrintStyle
+		InternedStrings Java_lang_String Java_lang_Class PrettyPrintStyle
 		LastArgumentString Threads ExcludedClassPath FailedToLoadClasses'
 	poolDictionaries:''
 	category:'Java-Support'
@@ -88,6 +88,18 @@
     ^ self at:aString
 !
 
+intern:aJavaString
+    |stString internedString|
+
+    stString := self as_ST_String:aJavaString.
+    internedString := InternedStrings at:stString ifAbsent:nil.
+    internedString isNil ifTrue:[
+        InternedStrings at:stString put:aJavaString.
+        internedString := aJavaString
+    ].
+    ^ internedString
+!
+
 java_lang_Class
     Java_lang_Class isNil ifTrue:[
         Java_lang_Class := self at:'java.lang.Class'
@@ -312,6 +324,7 @@
      jHome jClasses jSources mozillaHome tryNetscape4_0
      tryMS tryBorland tryVA tryJRE1_1 fn d classPath|
 
+    InternedStrings := Dictionary new.
     FailedToLoadClasses := nil.
     classPath := OperatingSystem getEnvironment:'CLASSPATH'.
 
@@ -1508,6 +1521,6 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.125 2000/12/18 13:36:37 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.126 2000/12/18 15:29:28 cg Exp $'
 ! !
 Java initialize!