--- a/JavaClass.st Wed Nov 04 18:57:12 1998 +0000
+++ b/JavaClass.st Wed Nov 04 18:58:14 1998 +0000
@@ -166,18 +166,30 @@
!JavaClass class methodsFor:'method lookup'!
convertArgsToJava:argArray
+ "given a smalltalk argument array, convert to java objects as appropriate.
+ Currently, only Strings and booleans are converted."
+
|newArgs|
newArgs := argArray copy.
newArgs keysAndValuesDo:[:idx :arg |
arg isString ifTrue:[
newArgs at:idx put:(Java as_String:arg)
+ ] ifFalse:[
+ arg == true ifTrue:[
+ newArgs at:idx put:1
+ ] ifFalse:[
+ arg == false ifTrue:[
+ newArgs at:idx put:0
+ ]
+ ]
]
].
^ newArgs
"Created: / 9.4.1998 / 21:40:23 / cg"
+ "Modified: / 4.11.1998 / 17:14:36 / cg"
!
lookupMethod:selector numArgs:nargs in:aClass static:staticMethod
@@ -203,14 +215,8 @@
or:[aMethod signatureNameWithoutReturnType = sel]])
ifTrue:[
aMethod numArgs == nargs ifTrue:[
- staticMethod ifTrue:[
- aMethod isStatic ifTrue:[
- ^ aMethod
- ]
- ] ifFalse:[
- aMethod isStatic ifFalse:[
- ^ aMethod
- ]
+ staticMethod == (aMethod isStatic) ifTrue:[
+ ^ aMethod
]
]
]
@@ -223,7 +229,52 @@
^ nil
"Created: / 17.8.1997 / 18:25:47 / cg"
- "Modified: / 14.10.1998 / 14:59:27 / cg"
+ "Modified: / 4.11.1998 / 17:13:08 / cg"
+!
+
+lookupMethods:selector numArgs:nargs in:aClass static:staticMethod
+ "lookup methods matching a selector.
+ This is a special entry for doesNotUnderstand redirection
+ (the caller must select the one method which fits the argument(s) best."
+
+ |methods cls sel|
+
+ sel := selector.
+ (sel includes:$:) ifTrue:[
+ sel := sel copyTo:(sel indexOf:$:)-1
+ ].
+
+ sel := sel asSymbolIfInterned.
+ sel notNil ifTrue:[
+ cls := aClass.
+
+ [cls notNil
+ and:[cls ~~ JavaObject
+ and:[cls ~~ JavaClass]]] whileTrue:[
+ cls methodDictionary keysAndValuesDo:[:jSel :aMethod |
+ ((jSel == sel)
+ or:[aMethod name = sel
+ or:[aMethod signatureNameWithoutReturnType = sel]])
+ ifTrue:[
+ (nargs isNil
+ or:[aMethod numArgs == nargs]) ifTrue:[
+ staticMethod == (aMethod isStatic) ifTrue:[
+ methods isNil ifTrue:[
+ methods := OrderedCollection new
+ ].
+ methods add:aMethod
+ ]
+ ]
+ ]
+ ].
+
+ cls := cls superclass.
+ ].
+ ].
+ ^ methods ? #()
+
+ "Created: / 4.11.1998 / 19:04:51 / cg"
+ "Modified: / 4.11.1998 / 19:31:33 / cg"
! !
!JavaClass class methodsFor:'signature parsing'!
@@ -723,32 +774,19 @@
"create a new instance, preset its fields,
and call its JAVA init function"
- |newJavaObject sz "{ Class: SmallInteger }"|
-
- "/ (self isInterface or:[self isAbstract]) ifTrue:[
- (accessFlags bitAnd:(A_INTERFACE bitOr:A_ABSTRACT)) ~~ 0 ifTrue:[
- JavaVM throwInstantiationExceptionFor:self.
- ^ nil
- ].
+ |newJavaObject|
- newJavaObject := super basicNew.
- initValues notNil ifTrue:[
- "/ newJavaObject initializeFields:initValues
- sz := self instSize.
- 1 to:sz do:[:i |
- newJavaObject instVarAt:i put:(initValues at:i)
- ].
- ].
-
+ newJavaObject := self newCleared.
newJavaObject perform:#'<init>()V'.
^ newJavaObject
"
(Java classNamed:'java.lang.String') basicNew inspect
+ (Java classNamed:'java.lang.String') newCleared inspect
(Java classNamed:'java.lang.String') new inspect
"
- "Modified: / 14.1.1998 / 23:16:19 / cg"
+ "Modified: / 4.11.1998 / 18:04:34 / cg"
!
newCleared
@@ -782,41 +820,117 @@
"
"Modified: / 14.1.1998 / 23:16:26 / cg"
-!
-
-newFromInterpreter:anInterpreter sender:aJavaContext
- "create a new instance, and call its JAVA init function.
- This is done in the context of an already running interpreter."
-
- |newJavaObject|
-
- newJavaObject := self newCleared.
- newJavaObject invoke:#'<init>' interpreter:anInterpreter sender:aJavaContext.
- ^ newJavaObject
-
- "Created: 18.3.1997 / 17:33:07 / cg"
! !
!JavaClass methodsFor:'message sending'!
-invokeJavaMethod:aJavaMethod interpreter:i sender:aContext selector:sel
- "invoke a static java method, without argument"
+doesNotUnderstand:aMessage
+ "as a courtesy to the smalltalker, try to map static methods as
+ Smalltalk-class methods"
+
+ |r args numArgs methods javaMethod sel eMsg argTypes|
+
+"/ r := thisContext sender receiver.
+"/
+"/ r isJavaClass ifTrue:[
+"/ self halt:'should not happen from within java code'.
+"/ ].
+"/ r class isJavaClass ifTrue:[
+"/ self halt:'should not happen from within java code'.
+"/ ].
- |val|
+ args := aMessage arguments.
+ numArgs := args size.
+ sel := aMessage selector.
+
+ methods := JavaClass lookupMethods:sel numArgs:numArgs in:self static:true.
+ methods size == 1 ifTrue:[
+ javaMethod := methods first.
+ "/ there is only one - try that one.
+ ] ifFalse:[
+ methods size > 1 ifTrue:[
+ "/ more than one - select the best fit.
+ "/ first, look for an exact match ...
+ methods do:[:aMethod |
+ |argSig doesMatch|
- aJavaMethod numArgs ~~ 0 ifTrue:[
- self halt:'argument count'
- ].
- aJavaMethod isStatic ifFalse:[
- self halt:'non-static function'
+ doesMatch := true.
+ argSig := aMethod argSignature.
+ argSig keysAndValuesDo:[:i :argType |
+ |arg|
+
+ arg := args at:i.
+ argType == #int ifTrue:[
+ (arg isInteger
+ and:[arg between:-16r8000000 and:16r7FFFFFFF]) ifFalse:[
+ doesMatch := false
+ ]
+ ] ifFalse:[
+ argType == #float ifTrue:[
+ arg isReal ifFalse:[
+ doesMatch := false
+ ]
+ ] ifFalse:[
+ self halt
+ ]
+ ]
+ ].
+ doesMatch ifTrue:[
+ javaMethod notNil ifTrue:[
+ self halt:'more than one matching methods'
+ ].
+ javaMethod := aMethod
+ ]
+ ].
+ ]
].
- val := i interpret:aJavaMethod sender:aContext.
+ javaMethod notNil ifTrue:[
+ args notNil ifTrue:[
+ args := JavaClass convertArgsToJava:args.
+ ].
+ ^ javaMethod
+ valueWithReceiver:self
+ arguments:args
+ selector:sel
+ search:nil
+ sender:nil
+ ].
+
+ methods size > 1 ifTrue:[
+ eMsg := 'no ''' , sel , '''-function for given argument type(s)'
+ ] ifFalse:[
+
+ methods := JavaClass lookupMethods:sel numArgs:nil in:self static:true.
+ methods size > 0 ifTrue:[
+ methods size == 1 ifTrue:[
+ javaMethod := methods first.
- ^ JavaObject convertJavaObject:val signature:(aJavaMethod retValSignature)
+ javaMethod numArgs == 1 ifTrue:[
+ argTypes := javaMethod argSignature first printString.
+ eMsg := '''' , sel , '''-function expects ' , argTypes , ' as argument'.
+ ] ifFalse:[
+ eMsg := '''' , sel , '''-function expects ' , javaMethod numArgs printString , ' argument(s)'
+ ].
+ ] ifFalse:[
+ numArgs == 0 ifTrue:[
+ eMsg := 'no ''' , sel , '''-function without arguments'
+ ] ifFalse:[
+ eMsg := 'no ''' , sel , '''-function for given number of arguments'
+ ].
+ ].
+ ].
+ ].
- "Created: 17.8.1997 / 18:05:14 / cg"
- "Modified: 17.8.1997 / 18:08:22 / cg"
+ eMsg notNil ifTrue:[
+ ^ MessageNotUnderstoodSignal
+ raiseRequestWith:aMessage
+ errorString:eMsg
+ in:thisContext sender
+ ].
+ ^ super doesNotUnderstand:aMessage
+
+ "Modified: / 4.11.1998 / 19:40:48 / cg"
!
invokeJavaMethod:aJavaMethod interpreter:i sender:aContext selector:sel with:arg1
@@ -840,31 +954,6 @@
"Modified: 17.8.1997 / 18:08:27 / cg"
!
-invokeJavaMethod:aJavaMethod sender:aContext selector:sel
- "invoke a static java method, without arguments"
-
- ^ self
- invokeJavaMethod:aJavaMethod
- interpreter:(JavaInterpreter new)
- sender:aContext
- selector:sel
-
- "Modified: 17.8.1997 / 18:05:35 / cg"
-!
-
-invokeJavaMethod:aJavaMethod sender:aContext selector:sel with:arg1
- "invoke a static java method, with 1 argument"
-
- ^ self
- invokeJavaMethod:aJavaMethod
- interpreter:(JavaInterpreter new)
- sender:aContext
- selector:sel
- with:arg1
-
- "Modified: 17.8.1997 / 18:04:44 / cg"
-!
-
invokeStatic:selector
"send a static message, without args."
@@ -1280,26 +1369,6 @@
"Modified: / 6.1.1998 / 18:21:34 / cg"
!
-invoke:selector interpreter:i sender:aContext
- "send a message, without args"
-
- |method cls sel|
-
- method := JavaClass lookupMethod:selector numArgs:0 in:self static:true.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- interpreter:i
- sender:aContext
- selector:selector
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Created: 17.8.1997 / 18:10:08 / cg"
- "Modified: 17.8.1997 / 18:33:59 / cg"
-!
-
invoke:selector interpreter:i sender:aContext with:arg
"send a message, with 1 arg"
@@ -1321,54 +1390,6 @@
"Modified: 17.8.1997 / 18:33:52 / cg"
!
-invoke:selector signature:signature
- "send a message, without args."
-
- |method cls sel sig|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- sig := signature asSymbolIfInterned.
- sig notNil ifTrue:[
- cls := self.
- [cls notNil and:[cls ~~ JavaObject]] whileTrue:[
- method := cls compiledMethodAt:sel signature:signature.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- sender:thisContext
- selector:sel
- ].
- cls := cls superclass.
- ].
- ].
- ].
-
- ^ self doesNotUnderstand:(Message selector:selector)
-
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#'<init>'.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#isEmpty.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#size.
- "
-
- "Created: 30.7.1997 / 14:12:29 / cg"
- "Modified: 1.8.1997 / 00:04:45 / cg"
-!
-
invoke:selector signature:signature with:arg
"send a message, with 1 arg1."
@@ -1526,57 +1547,6 @@
"Created: 30.7.1997 / 14:00:53 / cg"
!
-invokeSignature:signature
- "send a message, without args."
-
- |method cls sel|
-
- sel := signature asSymbolIfInterned.
- sel notNil ifTrue:[
- cls := self.
- [cls notNil and:[cls ~~ JavaObject]] whileTrue:[
- cls methodDictionary keysAndValuesDo:[:sel :aMethod |
-
-"/ aMethod name printNL.
-
- aMethod signatureName = signature ifTrue:[
- aMethod numArgs == 0 ifTrue:[
- ^ self
- invokeJavaMethod:aMethod
- sender:thisContext
- selector:signature
- ]
- ]
- ].
- cls := cls superclass.
- ].
- ].
-
- ^ self doesNotUnderstand:(Message selector:signature)
-
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#'<init>'.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#isEmpty.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#size.
- "
-
- "Modified: 30.7.1997 / 14:07:55 / cg"
- "Created: 30.7.1997 / 14:09:31 / cg"
-!
-
methodMatching:aSmalltalkSelector
|numArgs cls|
@@ -1627,6 +1597,6 @@
!JavaClass class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.82 1998/11/03 22:05:13 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.83 1998/11/04 18:57:36 cg Exp $'
! !
JavaClass initialize!
--- a/JavaObject.st Wed Nov 04 18:57:12 1998 +0000
+++ b/JavaObject.st Wed Nov 04 18:58:14 1998 +0000
@@ -100,52 +100,6 @@
!JavaObject methodsFor:'interpreter interface'!
-invoke:selector interpreter:i sender:aContext
- "send a message, without args"
-
- |method cls sel|
-
- method := JavaClass lookupMethod:selector numArgs:0 in:self class static:false.
-"/ method := self lookupMethod:selector numArgs:0.
- method notNil ifTrue:[
- ^ method
- valueWithReceiver:self
- arguments:#()
- selector:selector
- search:nil
- sender:nil
-
-"/ ^ self
-"/ invokeJavaMethod:method
-"/ interpreter:i
-"/ sender:aContext
-"/ selector:selector
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') basicNew.
- stack invoke:#'<init>'.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') new.
- stack invoke:#isEmpty.
- "
- "
- |stack|
-
- stack := (Java at:'java/util/Stack') new.
- stack invoke:#size.
- "
-
- "Modified: / 7.1.1998 / 11:02:13 / cg"
-!
-
invoke:selector interpreter:i sender:aContext with:argument
"send a message, with 1 argument.
TEMPORARY: This method needs more work."
@@ -230,168 +184,13 @@
"
"Modified: / 5.1.1998 / 02:21:22 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext with:arg1 with:arg2
- "send a message, with 2 arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:2 in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:2.
- method notNil ifTrue:[
- ^ method
- valueWithReceiver:self
- arguments:(Array with:arg1 with:arg2)
-"/ ^ self
-"/ invokeJavaMethod:method
-"/ interpreter:i
-"/ sender:aContext
-"/ selector:selector
-"/ with:arg1 with:arg2
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Modified: / 5.1.1998 / 02:28:34 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext with:arg1 with:arg2 with:arg3
- "send a message, with 3 arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:3 in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:3.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- interpreter:i
- sender:aContext
- selector:selector
- with:arg1 with:arg2 with:arg3
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Modified: 17.8.1997 / 18:26:27 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext with:arg1 with:arg2 with:arg3 with:arg4
- "send a message, with 4 arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:4 in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:4.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- interpreter:i
- sender:aContext
- selector:selector
- with:arg1 with:arg2 with:arg3 with:arg4
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Modified: 17.8.1997 / 18:26:31 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext with:arg1 with:arg2 with:arg3 with:arg4 with:arg5
- "send a message, with 5 arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:5 in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:5.
- method notNil ifTrue:[
- ^ method
- valueWithReceiver:self
- arguments:(Array with:arg1 with:arg2 with:arg3 with:arg4 with:arg5)
-"/ ^ self
-"/ invokeJavaMethod:method
-"/ interpreter:i
-"/ sender:aContext
-"/ selector:selector
-"/ with:arg1 with:arg2 with:arg3 with:arg4 with:arg5
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Modified: / 6.1.1998 / 18:25:24 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext with:arg1 with:arg2 with:arg3 with:arg4 with:arg5 with:arg6
- "send a message, with 6 arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:6 in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:6.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- interpreter:i
- sender:aContext
- selector:selector
- with:arg1 with:arg2 with:arg3 with:arg4 with:arg5 with:arg6
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Created: 7.8.1997 / 20:57:12 / cg"
- "Modified: 17.8.1997 / 18:26:39 / cg"
-!
-
-invoke:selector interpreter:i sender:aContext withAll:arguments
- "send a message, with arguments.
- TEMPORARY: This method needs more work."
-
- |sel method cls argClass jSel|
-
- sel := selector asSymbolIfInterned.
- sel notNil ifTrue:[
- method := JavaClass lookupMethod:sel numArgs:arguments size in:self class static:false.
- "/ method := self lookupMethod:sel numArgs:arguments size.
- method notNil ifTrue:[
- ^ self
- invokeJavaMethod:method
- interpreter:i
- sender:aContext
- selector:selector
- withAll:arguments
- ].
- ].
-
- ^ super doesNotUnderstand:(Message selector:selector)
-
- "Modified: 17.8.1997 / 18:26:45 / cg"
! !
!JavaObject methodsFor:'message sending'!
doesNotUnderstand:aMessage
+ "as a courtesy to the smalltalker, try to map methods"
+
|args numArgs javaMethod sel|
args := aMessage arguments.
@@ -412,7 +211,7 @@
].
^ super doesNotUnderstand:aMessage
- "Modified: / 9.4.1998 / 21:41:13 / cg"
+ "Modified: / 4.11.1998 / 17:10:43 / cg"
!
invokeJavaMethod:aJavaMethod interpreter:i sender:s selector:sel
@@ -729,17 +528,15 @@
^ super displayString , '(' , (JavaVM methodForJavaMethodObject:self) displayString , ')'
].
+"/ Object errorSignal handle:[:ex |
+"/ ^ super displayString.
+"/ ] do:[
+"/ ^ Java as_ST_String:(self perform:#toString).
+"/ ].
+
^ super displayString.
- Object errorSignal handle:[:ex |
- ^ super displayString.
- ] do:[
- ^ Java as_ST_String:(self invoke:#toString).
- ].
-
- ^ super displayString. "/ ^ 'a JavaObject(' , self class name , ')'
-
- "Modified: / 21.10.1998 / 02:56:37 / cg"
+ "Modified: / 4.11.1998 / 18:35:00 / cg"
!
javaDisplayString
@@ -804,17 +601,6 @@
"Modified: / 7.1.1998 / 14:04:03 / cg"
!
-invoke:selector sender:aContext
- "send a message, without args"
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:aContext
-
- "Modified: 30.7.1997 / 13:59:18 / cg"
-!
-
invoke:selector with:arg
"send a message, with 1 argument.
TEMPORARY: This method needs more work."
@@ -845,104 +631,6 @@
"Modified: 17.8.1997 / 18:07:39 / cg"
!
-invoke:selector with:arg1 with:arg2
- "send a message, with 2 argument.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- with:arg1
- with:arg2
-
- "Modified: 17.8.1997 / 18:07:45 / cg"
-!
-
-invoke:selector with:arg1 with:arg2 with:arg3
- "send a message, with 3 argument.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- with:arg1
- with:arg2
- with:arg3
-
- "Created: 30.7.1997 / 13:48:24 / cg"
- "Modified: 17.8.1997 / 18:07:48 / cg"
-!
-
-invoke:selector with:arg1 with:arg2 with:arg3 with:arg4
- "send a message, with 5 argument.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- with:arg1
- with:arg2
- with:arg3
- with:arg4
-
- "Created: 6.8.1997 / 02:38:44 / cg"
- "Modified: 17.8.1997 / 18:07:52 / cg"
-!
-
-invoke:selector with:arg1 with:arg2 with:arg3 with:arg4 with:arg5
- "send a message, with 5 argument.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- with:arg1
- with:arg2
- with:arg3
- with:arg4
- with:arg5
-
- "Created: 3.8.1997 / 20:30:22 / cg"
- "Modified: 17.8.1997 / 18:07:55 / cg"
-!
-
-invoke:selector with:arg1 with:arg2 with:arg3 with:arg4 with:arg5 with:arg6
- "send a message, with 6 argument.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- with:arg1
- with:arg2
- with:arg3
- with:arg4
- with:arg5
- with:arg6
-
- "Created: 7.8.1997 / 20:56:49 / cg"
- "Modified: 17.8.1997 / 18:07:58 / cg"
-!
-
-invoke:selector withAll:args
- "send a message, with anumber of arguments.
- TEMPORARY: This method needs more work."
-
- ^ self
- invoke:selector
- interpreter:(JavaInterpreter new)
- sender:thisContext sender
- withAll:args
-
- "Created: 30.7.1997 / 13:56:33 / cg"
- "Modified: 17.8.1997 / 18:08:01 / cg"
-!
-
lookupMethod:selector numArgs:nargs
"lookup a method"
@@ -1001,5 +689,5 @@
!JavaObject class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaObject.st,v 1.39 1998/10/22 18:09:00 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaObject.st,v 1.40 1998/11/04 18:58:14 cg Exp $'
! !