src/loadClasses
branchjk_new_structure
changeset 752 ff7bc6428c9c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/loadClasses	Fri Apr 08 12:02:36 2011 +0000
@@ -0,0 +1,91 @@
+"{ package:'stx:libjava' }"
+
+|files|
+
+'loading package stx:libjava ...' printCR.
+
+Scanner allowDollarInIdentifier:true.
+
+"/
+"/ base system
+"/
+
+files := #(
+	'Java.st'
+	'JavaVM.st'
+
+	'JavaConstantPool.st'
+	'JavaSlotIndexCache.st'
+
+	'JavaObject.st'
+	'JavaClass.st'
+	'JavaMethod.st'
+	'JavaMethodWithException.st'
+	'JavaMethodWithHandler.st'
+	'JavaNativeMethod.st'
+	'JavaContext.st'
+	'JavaProcess.st'
+
+	'JavaClassReader.st'
+	'JavaDecompiler.st'
+
+	'JavaExceptionTableEntry.st'
+	'JavaLocalVariableTable.st'
+	'JavaLocalVariableTableEntry.st'
+
+	'JavaRef.st'
+	'JavaClassRef.st'
+	'JavaField.st'
+	'JavaFieldref.st'
+	'JavaMethodref.st'
+	'JavaInterfaceMethodref.st'
+	'JavaNameandType.st'
+	'JavaClassPointerRef.st'
+	'JavaBuiltInClassPointerRef.st'
+
+	'JavaUnresolvedConstant.st'
+	'JavaUnresolvedRefConstant.st'
+	'JavaUnresolvedClassConstant.st'
+	'JavaUnresolvedFieldrefConstant.st'
+	'JavaUnresolvedMethodrefConstant.st'
+	'JavaUnresolvedInterfaceMethodrefConstant.st'
+	'JavaUnresolvedNameandTypeConstant.st'
+	'JavaUnresolvedStringConstant.st'
+
+	'JavaView.st'
+	'JavaTopView.st'
+	'JavaPopUpView.st'
+	'JavaEmbeddedFrameView.st'
+
+	'SmalltalkAppletContext.st'
+	'SmalltalkAppletStub.st'
+).
+
+(Smalltalk loadClassLibraryIfAbsent:'libjava') ifTrue:[
+    |handle loaded|
+
+    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.
+  ].
+  ' ' printCR.
+].
+'done (stx:libjava).' printCR.
+!
+
+