summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 4a3c209..9bb8a46 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -207,7 +207,13 @@ easier to use with __apply__.
__invoke__"
- (invoke-by-name-super-v receiver method-name nil args))
+ (invoke-by-name-super-v (typecase receiver
+ (symbol (find-objc-class receiver))
+ ((or id objective-c-class) receiver)
+ (t (pointer receiver)))
+ method-name
+ nil
+ args))
(defun invoke-by-name-super-v (receiver method-name superclass-for-send-super