--- 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.
].