loadClasses
changeset 616 53bf2ec50346
parent 613 53fdc6cd4847
child 617 4c7ad880c405
--- a/loadClasses	Fri Oct 29 14:48:43 1999 +0000
+++ b/loadClasses	Tue Nov 09 09:25:25 1999 +0000
@@ -1,10 +1,16 @@
+"{ package:'detemobil:ftam' }"
+
+|files|
+
+'loading package stx:libjava ...' printCR.
+
 Scanner allowDollarInIdentifier:true.
 
 "/
 "/ base system
 "/
 
-#(
+files := #(
 	'Java'
 	'JavaVM'
 
@@ -17,7 +23,6 @@
 	'JavaMethodWithException'
 	'JavaMethodWithHandler'
 	'JavaNativeMethod'
-"/ 'JavaMethodWithBreakpoint'
 	'JavaContext'
 	'JavaProcess'
 
@@ -53,72 +58,33 @@
 	'JavaEmbeddedFrameView'
 
 	'JavaDeparser'   
-) do:[:fBase | |f|
-	f := fBase , '.cls'.
-	(Smalltalk fileIn:f) ifTrue:[
-	    Transcript showCR:('loaded ' , f).
-	] ifFalse:[
-	    f := fBase , '.st'.
-	    Smalltalk fileIn:f
-	]
-]
-!
+).
 
-"/
-"/ autoloaded add-ons
-"/
-#(
-    "/
-    "/ decompiler
-    "/
-"/    'JavaDeparser'              'JavaDeparser.st'
-    'JavaScanner'               'JavaScanner.st'
-    'JavaParser'                'JavaParser.st'
-    'JavaCompiler'              'JavaCompiler.st'
+(Smalltalk loadClassLibraryIfAbsent:'libjava') ifTrue:[
+    |handle loaded|
 
-    'JavaParseNode'             'JavaParseNode.st'
-    'JavaAssignmentNode'        'JavaAssignmentNode.st'
-    'JavaPrimaryNode'           'JavaPrimaryNode.st'
-    'JavaConstantNode'          'JavaConstantNode.st'
-    'JavaVariableNode'          'JavaVariableNode.st'
-    'JavaMessageNode'           'JavaMessageNode.st'
-    'JavaNewNode'               'JavaNewNode.st'
-    'JavaStatementNode'         'JavaStatementNode.st'
-    'JavaExpressionNode'        'JavaExpressionNode.st'
-    'JavaReturnNode'            'JavaReturnNode.st'
-    'JavaIfNode'                'JavaIfNode.st'
-    'JavaForNode'               'JavaForNode.st'
-    'JavaGotoNode'              'JavaGotoNode.st'
-    'JavaWhileNode'             'JavaWhileNode.st'
-    'JavaDoWhileNode'           'JavaDoWhileNode.st'
-    'JavaTryCatchNode'          'JavaTryCatchNode.st'
-    'JavaThrowNode'             'JavaThrowNode.st'
-    'JavaConditionalExpressionNode'     'JavaConditionalExpressionNode.st'
-    'JavaMonitorNode'           'JavaMonitorNode.st'
-    'JavaSwitchNode'            'JavaSwitchNode.st'
-    'JavaStatementList'         'JavaStatementList.st'
+    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:[]].
+].
 
-    "/
-    "/ applet/GUI support
-    "/
-    'SmalltalkAppletContext'    'SmalltalkAppletContext.st'
-    'SmalltalkAppletStub'       'SmalltalkAppletStub.st'
-"/    'JavaView'                  'JavaView.st'
-"/    'JavaEmbeddedFrameView'     'JavaEmbeddedFrameView.st'
-
-    'UIGalleryJavaEntry'        'UIGalleryJavaEntry.st'
-    'JavaAppletComponentSpec'   'JavaAppletComponentSpec.st'
-    'JavaAppletDemo1'           'JavaAppletDemo1.st'
-    'JavaAppletDemo2'           'JavaAppletDemo2.st'
-    'JavaAppletDemo3'           'JavaAppletDemo3.st'
-
-    'JavaBrowser'               'JavaBrowser.st'
-
-) pairWiseDo:[:className :fileName |
-    Smalltalk fileIn:fileName.
-    "/ Smalltalk installAutoloadedClassNamed:className category:'autoloaded' package:'cg:java' revision:nil.
+files size > 0 ifTrue:[
+  files do:[:s|
+    '.' print.
+    Smalltalk fileIn:s.
+  ].
+  ' ' printCR.
 ].
+'done.' printCR.
 !
 
 
-