Java.st
changeset 381 b8348aa2d1b2
parent 372 1c7da8a0e6ab
child 393 1efe41b5bc98
--- a/Java.st	Sat Oct 17 12:49:14 1998 +0000
+++ b/Java.st	Sat Oct 17 12:54:27 1998 +0000
@@ -258,11 +258,15 @@
 
 initialize
     |tryJDK1_2 tryJDK1_16 tryJDK1_15 tryJDK1_13 tryJDK1_11 tryJDK1_103 directoriesToSearch 
-     jHome jClasses jSources mozillaHome|
+     jHome jClasses jSources mozillaHome tryNetscape4_0
+     tryMS tryBorland|
 
     FailedToLoadClasses := nil.
 
     "/ cannot use JDK1.2 yet (they made so many changes ...)
+    tryNetscape4_0 := false.
+    tryMS := false.
+    tryBorland := true.
     tryJDK1_2 := false.
     tryJDK1_16 := true.
     tryJDK1_15 := true.
@@ -273,6 +277,27 @@
     ExcludedClassPath := OrderedCollection new.
 
     directoriesToSearch := OrderedCollection new.
+
+    tryBorland ifTrue:[        
+        directoriesToSearch add:'c:\jbuilder2\java'.
+    ].
+    tryMS ifTrue:[        
+        directoriesToSearch add:'c:\windows\java\classes'.
+        'c:\windows\java\packages' asFilename exists ifTrue:[
+            'c:\windows\java\packages' asFilename directoryContents do:[:f |
+                (f asFilename hasSuffix:'zip') ifTrue:[
+                    directoriesToSearch add:('c:\windows\java\packages' asFilename construct:f) pathName                    
+                ]
+            ]
+        ].
+        'c:\windows\java\trustlib' asFilename exists ifTrue:[
+            'c:\windows\java\trustlib' asFilename directoryContents do:[:f |
+                (f asFilename hasSuffix:'zip') ifTrue:[
+                    directoriesToSearch add:('c:\windows\java\trustlib' asFilename construct:f) pathName                    
+                ]
+            ]
+        ]
+    ].
     tryJDK1_2 ifTrue:[        
         directoriesToSearch add:'/phys/idefix/home2/java/jdk1.2'.
         directoriesToSearch add:'/usr/local/java/jdk1.2'.
@@ -358,20 +383,26 @@
 
         dir := aPath asFilename.
         (jHome isNil and:[dir exists]) ifTrue:[
-            "/ there must be either a classes directory,
-            "/ or a classes.zip file ...
-            (libDir := dir construct:'lib') exists ifTrue:[
-                (libDir construct:'classes.zip') exists ifTrue:[
-                    jHome := aPath.
-                    jClasses := libDir construct:'classes.zip'.
-                ] ifFalse:[
-                    (libDir construct:'classes') exists ifTrue:[
-                        (libDir construct:'classes') isDirectory ifTrue:[
-                            jHome := aPath.
-                            jClasses := libDir construct:'classes'.
+            ((dir hasSuffix:'jar')
+            or:[dir hasSuffix:'zip']) ifTrue:[
+                jClasses := dir.
+            ] ifFalse:[
+
+                "/ there must be either a classes directory,
+                "/ or a classes.zip file ...
+                (libDir := dir construct:'lib') exists ifTrue:[
+                    (libDir construct:'classes.zip') exists ifTrue:[
+                        jHome := aPath.
+                        jClasses := libDir construct:'classes.zip'.
+                    ] ifFalse:[
+                        (libDir construct:'classes') exists ifTrue:[
+                            (libDir construct:'classes') isDirectory ifTrue:[
+                                jHome := aPath.
+                                jClasses := libDir construct:'classes'.
+                            ]
                         ]
                     ]
-                ]
+                ].
             ].
         ].
     ].
@@ -402,20 +433,39 @@
     directoriesToSearch := OrderedCollection new.
     directoriesToSearch add:'/usr/local/java/moz3_0/lib_unix'.
 
+    tryNetscape4_0 ifTrue:[        
+        directoriesToSearch add:'C:\Programme\Netscape\Communicator\Program\Java\Classes\java40.jar'.
+    ].
+    tryBorland ifTrue:[        
+        directoriesToSearch add:'C:\jbuilder2\lib\jbuilder.zip'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jbcl2.0.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jbcl2.0-res.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\swingall.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jgl3.1.0.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jctable.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jcchart.jar'.
+        directoriesToSearch add:'C:\jbuilder2\lib\jcbwt.jar'.
+    ].
+
     directoriesToSearch do:[:aPath |
         |dir classDir|
 
         dir := aPath asFilename.
         (mozillaHome isNil and:[dir exists]) ifTrue:[
-            mozillaHome := dir.
-            classDir := (dir construct:'classes').
-            Java addToClassPath:classDir pathName.
-            "/
-            "/ care to only load mozilla classes from there ...
-            "/ i.e. ignore the java/sun stuff found there.
-            "/
-            ExcludedClassPath add:(classDir construct:'java') pathName.
-            ExcludedClassPath add:(classDir construct:'sun') pathName.
+            ((dir hasSuffix:'jar') 
+            or:[dir hasSuffix:'zip']) ifTrue:[
+                Java addToClassPath:dir.
+            ] ifFalse:[
+                mozillaHome := dir.
+                classDir := (dir construct:'classes').
+                Java addToClassPath:classDir pathName.
+                "/
+                "/ care to only load mozilla classes from there ...
+                "/ i.e. ignore the java/sun stuff found there.
+                "/
+                ExcludedClassPath add:(classDir construct:'java') pathName.
+                ExcludedClassPath add:(classDir construct:'sun') pathName.
+            ]
         ]
     ].
     self initializePrettyPrintStyle.
@@ -425,7 +475,7 @@
      JavaVM initializeVM
     "
 
-    "Modified: / 12.9.1998 / 16:44:48 / cg"
+    "Modified: / 16.10.1998 / 12:02:36 / cg"
 !
 
 initializePrettyPrintStyle
@@ -851,10 +901,10 @@
 'JAVA [info]: flushing ' print. someObject fullName printCR.
             ]
         ].
-        (someObject isMemberOf:JavaMethod) ifTrue:[
-            someObject setJavaClass:nil.
-            someObject setExceptionTable:nil.
-        ].
+"/        (someObject isKindOf:JavaMethod) ifTrue:[
+"/            someObject setJavaClass:nil.
+"/            someObject setExceptionTable:nil.
+"/        ].
         (someObject isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
             someObject constantPool:nil
         ].
@@ -865,23 +915,24 @@
      Java flushAllJavaResources
     "
 
-    "Modified: / 6.2.1998 / 02:25:16 / cg"
+    "Modified: / 16.10.1998 / 01:21:30 / cg"
 !
 
 flushClasses
     Classes := UnresolvedClassRefs := nil.
     Smalltalk keys copy do:[:aKey | 
-	(aKey startsWith:'JAVA::') ifTrue:[ Smalltalk removeKey:aKey ]
+        (aKey startsWith:'JAVA::') ifTrue:[ Smalltalk removeKey:aKey ]
     ].
     Java_lang_String := Java_lang_Class := nil.
     JavaVM releaseAllJavaResources.
     JavaUnresolvedConstant flushPatchLists.
+    Debugger newDebugger.
 
     "
      Java flushClasses
     "
 
-    "Modified: 7.4.1997 / 15:25:46 / cg"
+    "Modified: / 16.10.1998 / 11:25:36 / cg"
 !
 
 markAllClassesUninitialized
@@ -1042,6 +1093,8 @@
         package := aClass package.
 
         sourceFileName := aClass sourceFile.
+        sourceFileName isNil ifTrue:[^nil].
+
         sourceFile := sourceFileName asFilename.
         sourceFile exists ifFalse:[
             "/
@@ -1081,7 +1134,7 @@
     ].
     ^ (sourceFile contentsOfEntireFile).
 
-    "Modified: / 29.3.1998 / 11:55:46 / cg"
+    "Modified: / 15.10.1998 / 23:38:18 / cg"
 !
 
 findSourceDirOf:fileName inPackage:aPackage
@@ -1204,6 +1257,6 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.69 1998/10/05 11:47:26 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.70 1998/10/17 12:54:27 cg Exp $'
 ! !
 Java initialize!