*** empty log message ***
authorcg
Wed, 10 May 2000 14:32:11 +0000
changeset 676 31231f2e71cb
parent 675 d409e317e7ff
child 677 63fd7b5d0027
*** empty log message ***
loadClasses
--- a/loadClasses	Wed May 10 14:32:10 2000 +0000
+++ b/loadClasses	Wed May 10 14:32:11 2000 +0000
@@ -11,60 +11,77 @@
 "/
 
 files := #(
-	'Java'
-	'JavaVM'
+	'Java.st'
+	'JavaVM.st'
+
+	'JavaConstantPool.st'
+	'JavaSlotIndexCache.st'
 
-	'JavaConstantPool'
-	'JavaSlotIndexCache'
+	'JavaObject.st'
+	'JavaClass.st'
+	'JavaMethod.st'
+	'JavaMethodWithException.st'
+	'JavaMethodWithHandler.st'
+	'JavaNativeMethod.st'
+	'JavaContext.st'
+	'JavaProcess.st'
 
-	'JavaObject'
-	'JavaClass'
-	'JavaMethod'
-	'JavaMethodWithException'
-	'JavaMethodWithHandler'
-	'JavaNativeMethod'
-	'JavaContext'
-	'JavaProcess'
+	'JavaClassReader.st'
+	'JavaDecompiler.st'
+
+	'JavaExceptionTableEntry.st'
+	'JavaLocalVariableTable.st'
+	'JavaLocalVariableTableEntry.st'
 
-	'JavaClassReader'
-	'JavaDecompiler'
-
-	'JavaExceptionTableEntry'
-	'JavaLocalVariableTable'
-	'JavaLocalVariableTableEntry'
+	'JavaRef.st'
+	'JavaClassRef.st'
+	'JavaField.st'
+	'JavaFieldref.st'
+	'JavaMethodref.st'
+	'JavaInterfaceMethodref.st'
+	'JavaNameandType.st'
+	'JavaClassPointerRef.st'
+	'JavaBuiltInClassPointerRef.st'
 
-	'JavaRef'
-	'JavaClassRef'
-	'JavaField'
-	'JavaFieldref'
-	'JavaMethodref'
-	'JavaInterfaceMethodref'
-	'JavaNameandType'
-	'JavaClassPointerRef'
-	'JavaBuiltInClassPointerRef'
+	'JavaUnresolvedConstant.st'
+	'JavaUnresolvedRefConstant.st'
+	'JavaUnresolvedClassConstant.st'
+	'JavaUnresolvedFieldrefConstant.st'
+	'JavaUnresolvedMethodrefConstant.st'
+	'JavaUnresolvedInterfaceMethodrefConstant.st'
+	'JavaUnresolvedNameandTypeConstant.st'
+	'JavaUnresolvedStringConstant.st'
+
+	'JavaView.st'
+	'JavaTopView.st'
+	'JavaPopUpView.st'
+	'JavaEmbeddedFrameView.st'
 
-	'JavaUnresolvedConstant'
-	'JavaUnresolvedRefConstant'
-	'JavaUnresolvedClassConstant'
-	'JavaUnresolvedFieldrefConstant'
-	'JavaUnresolvedMethodrefConstant'
-	'JavaUnresolvedInterfaceMethodrefConstant'
-	'JavaUnresolvedNameandTypeConstant'
-	'JavaUnresolvedStringConstant'
+	'SmalltalkAppletContext.st'
+	'SmalltalkAppletStub.st'
+).
+
+(Smalltalk loadClassLibraryIfAbsent:'libjava') ifTrue:[
+    |handle loaded|
 
-	'JavaView'
-	'JavaTopView'
-	'JavaPopUpView'
-	'JavaEmbeddedFrameView'
-
-	'SmalltalkAppletContext'
-	'SmalltalkAppletStub'   
-).
+    loaded := OrderedCollection new.
+    handle := ObjectFileLoader loadedObjectHandles 
+		detect:[:h | |cls|
+		    cls := h classes firstIfEmpty:nil.
+		    cls notNil and:[cls package = 'stx:libjava']
+		]
+		ifNone:nil.
+    handle notNil ifTrue:[
+	handle classes do:[:c| c isMeta ifFalse:[loaded add:c classFilename]].
+    ].
+    files := files asOrderedCollection.
+    loaded do:[:f| files remove:f ifAbsent:[]].
+].
 
 files size > 0 ifTrue:[
   files do:[:s|
     '.' print.
-    Smalltalk fileIn:(s , '.st').
+    Smalltalk fileIn:s.
   ].
   ' ' printCR.
 ].