JavaClassReader.st
changeset 612 00e005c99126
parent 583 c859797c4e8c
child 667 38f4672d66fb
--- a/JavaClassReader.st	Sat Sep 25 21:13:24 1999 +0000
+++ b/JavaClassReader.st	Sat Sep 25 21:16:35 1999 +0000
@@ -1997,7 +1997,11 @@
     ].
 
     aClass isJavaClass ifTrue:[
-        m := JavaMethodWithHandler new.
+        (access_flags bitAnd:JavaMethod A_NATIVE) ~~ 0 ifTrue:[
+            m := JavaNativeMethod new.
+        ] ifFalse:[
+            m := JavaMethodWithHandler new.
+        ].
         m setAccessFlags:access_flags.
         tooManyArgs := false.
         Method argumentSignal handle:[:ex |
@@ -2016,10 +2020,12 @@
             m byteCode:nil.
         ].
         (m exceptionHandlerTable isNil) ifTrue:[
-            m exceptionTable isNil ifTrue:[
-                m := JavaMethod fromMethod:m
-            ] ifFalse:[
-                m := JavaMethodWithException fromMethod:m
+            m isNative ifFalse:[
+                m exceptionTable isNil ifTrue:[
+                    m := JavaMethod fromMethod:m
+                ] ifFalse:[
+                    m := JavaMethodWithException fromMethod:m
+                ]
             ]
         ] ifFalse:[
             m setAccessFlags:(m accessFlags bitOr:JavaMethod A_HASHANDLER)
@@ -2040,7 +2046,7 @@
     "
 
     "Created: / 15.4.1996 / 16:48:49 / cg"
-    "Modified: / 27.11.1998 / 01:34:00 / cg"
+    "Modified: / 25.9.1999 / 23:16:25 / cg"
 !
 
 readMethodsFor:aJavaClass
@@ -2148,6 +2154,6 @@
 !JavaClassReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.85 1999/07/15 00:02:06 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.86 1999/09/25 21:16:35 cg Exp $'
 ! !
 JavaClassReader initialize!