Java.st
changeset 168 90e39cb3fa04
parent 167 77dcbc4b2201
child 176 16f64026e8ec
--- a/Java.st	Wed Mar 26 17:25:36 1997 +0000
+++ b/Java.st	Mon Apr 07 17:28:23 1997 +0000
@@ -156,6 +156,30 @@
     ]
 ! !
 
+!Java class methodsFor:'queries'!
+
+smalltalkClassFor:typeRef
+self halt.
+"/    (typeString startsWith:'[[') ifTrue:[
+"/        ^ Array
+"/    ].
+"/    (typeString startsWith:'[F') ifTrue:[
+"/        ^ FloatArray
+"/    ].
+    self halt.
+
+    "Modified: 7.4.1997 / 13:33:46 / cg"
+!
+
+smalltalkDerefType:typeString
+    (typeString startsWith:'[') ifTrue:[
+        ^ typeString copyFrom:2
+    ].
+    self halt.
+
+    "Modified: 7.4.1997 / 13:13:24 / cg"
+! !
+
 !Java class methodsFor:'registering java classes'!
 
 at:aJavaName
@@ -237,8 +261,40 @@
     "Modified: 26.3.1997 / 13:48:15 / cg"
 !
 
+flushAllJavaResources
+    self flushClasses.
+
+    ObjectMemory allObjectsDo:[:someObject |
+        someObject isBehavior ifTrue:[
+            someObject isJavaClass ifTrue:[
+                someObject setConstantPool:nil.
+                someObject setInterfaces:nil.
+                someObject setMethodDictionary:(MethodDictionary new).
+someObject fullName printCR.
+            ]
+        ].
+        (someObject isMemberOf:JavaMethod) ifTrue:[
+            someObject setJavaClass:nil.
+            someObject setExceptionTable:nil.
+        ].
+        (someObject isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
+            someObject constantPool:nil
+        ].
+    ].
+    self flushClasses
+
+    "
+     Java flushAllJavaResources
+    "
+
+    "Modified: 7.4.1997 / 16:49:23 / cg"
+!
+
 flushClasses
     Classes := UnresolvedClassRefs := nil.
+    Smalltalk keys copy do:[:aKey | 
+        (aKey startsWith:'JAVA::') ifTrue:[ Smalltalk removeKey:aKey ]
+    ].
     Java_lang_String := Java_lang_Class := nil.
     JavaInterpreter releaseAllJavaResources.
     JavaUnresolvedConstant flushPatchLists.
@@ -247,7 +303,7 @@
      Java flushClasses
     "
 
-    "Modified: 26.3.1997 / 13:46:07 / cg"
+    "Modified: 7.4.1997 / 15:25:46 / cg"
 !
 
 markAllClassesUninitialized
@@ -427,6 +483,6 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.26 1997/03/26 17:25:36 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.27 1997/04/07 17:28:23 cg Exp $'
 ! !
 Java initialize!