checkin from browser
authorcg
Tue, 17 Nov 1998 19:21:10 +0000
changeset 456 bbed0c5ce05f
parent 455 36fffdce84f7
child 457 38a5f940feb7
checkin from browser
JavaClass.st
JavaDecompiler.st
JavaObject.st
--- a/JavaClass.st	Tue Nov 17 15:22:35 1998 +0000
+++ b/JavaClass.st	Tue Nov 17 19:21:10 1998 +0000
@@ -397,11 +397,15 @@
         "/ matches class and subclasses
         ^ arg
     ].
+    arg isNil ifTrue:[
+        "/ matches any
+        ^ arg
+    ].
 self halt.
     ^ failBlock value:('cannot convert argument to ' , type) value:nil
 
     "Created: / 6.11.1998 / 00:46:19 / cg"
-    "Modified: / 11.11.1998 / 02:05:25 / cg"
+    "Modified: / 16.11.1998 / 16:30:09 / cg"
 !
 
 convertToSmalltalk:jObj type:type 
@@ -459,14 +463,21 @@
         [cls notNil 
         and:[cls ~~ JavaObject
         and:[cls ~~ JavaClass]]] whileTrue:[
-            cls methodDictionary keysAndValuesDo:[:jSel :aMethod |
+            cls methodDictionary keysAndValuesDo:[:jSel :m |
+                |aMethod|
+
+                aMethod := m.
+                aMethod isWrapped ifTrue:[
+                    aMethod := aMethod originalMethod
+                ].
+                
                 ((jSel == sel)
                 or:[aMethod name = sel 
                 or:[aMethod signatureNameWithoutReturnType = sel]])
                 ifTrue:[
                     aMethod numArgs == nargs ifTrue:[
                         staticMethod == (aMethod isStatic) ifTrue:[
-                            ^ aMethod
+                            ^ m
                         ]
                     ]
                 ]
@@ -479,7 +490,7 @@
     ^ nil
 
     "Created: / 17.8.1997 / 18:25:47 / cg"
-    "Modified: / 4.11.1998 / 17:13:08 / cg"
+    "Modified: / 16.11.1998 / 16:46:48 / cg"
 !
 
 lookupMethods:selector numArgs:nargs in:aClass static:staticMethod
@@ -1641,6 +1652,6 @@
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.93 1998/11/16 15:17:43 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.94 1998/11/17 19:19:59 cg Exp $'
 ! !
 JavaClass initialize!
--- a/JavaDecompiler.st	Tue Nov 17 15:22:35 1998 +0000
+++ b/JavaDecompiler.st	Tue Nov 17 19:21:10 1998 +0000
@@ -1064,6 +1064,11 @@
 
 !JavaDecompiler methodsFor:'statistics'!
 
+remember_athrow
+
+    "Created: / 16.11.1998 / 19:37:32 / cg"
+!
+
 remember_getfield
     |fieldRef|
 
@@ -1175,6 +1180,6 @@
 !JavaDecompiler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaDecompiler.st,v 1.40 1998/11/16 15:14:48 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaDecompiler.st,v 1.41 1998/11/17 19:17:17 cg Exp $'
 ! !
 JavaDecompiler initialize!
--- a/JavaObject.st	Tue Nov 17 15:22:35 1998 +0000
+++ b/JavaObject.st	Tue Nov 17 19:21:10 1998 +0000
@@ -123,7 +123,7 @@
 doesNotUnderstand:aMessage
     "as a courtesy to the smalltalker, try to map methods"
 
-    |args numArgs javaMethod sel retVal|
+    |args numArgs javaMethod sel retVal m|
 
     args := aMessage arguments.
     numArgs := args size.
@@ -137,18 +137,23 @@
                         asSpecifiedIn:(javaMethod argSignature)
                         numArgs:numArgs.
         ].
+        javaMethod isWrapped ifTrue:[
+            m := javaMethod originalMethod
+        ] ifFalse:[
+            m := javaMethod
+        ].
         retVal := javaMethod 
             valueWithReceiver:self 
             arguments:args
-            selector:(javaMethod selector) 
-            search:(javaMethod javaClass)
+            selector:m selector 
+            search:m javaClass
             sender:nil.
 
-        ^ JavaClass convertToSmalltalk:retVal type:(javaMethod returnType).
+        ^ JavaClass convertToSmalltalk:retVal type:(m returnType).
     ].
     ^ super doesNotUnderstand:aMessage
 
-    "Modified: / 13.11.1998 / 22:39:38 / cg"
+    "Modified: / 16.11.1998 / 16:50:56 / cg"
 ! !
 
 !JavaObject methodsFor:'printing & storing'!
@@ -258,5 +263,5 @@
 !JavaObject class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaObject.st,v 1.47 1998/11/16 15:17:54 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaObject.st,v 1.48 1998/11/17 19:21:10 cg Exp $'
 ! !