cleanup (removed obsolete invoke stuff)
authorcg
Wed, 04 Nov 1998 18:58:14 +0000
changeset 415 b8abde6f5a0d
parent 414 0f33ff2c2fd3
child 416 4a9afdbe7e8e
cleanup (removed obsolete invoke stuff)
JavaClass.st
JavaObject.st
--- 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 $'
 ! !