--- 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 $'
! !