diff options
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r-- | Lisp/method-invocation.lisp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp index b260f2a..c95a43c 100644 --- a/Lisp/method-invocation.lisp +++ b/Lisp/method-invocation.lisp @@ -140,7 +140,9 @@ easier to use with __apply__. __invoke__" ;; TODO: Support varargs. - (let* ((selector (selector method-name)) + (let* ((selector (if (typep method-name 'selector) + method-name + (find-selector method-name))) (class (object-get-class receiver))) (multiple-value-bind (argc method-return-typestring @@ -189,7 +191,9 @@ easier to use with __apply__. (return-c-type (case return-type ((id objc-class exception selector) :pointer) (otherwise return-type))) - (selector (selector method-name))) + (selector (if (typep method-name 'selector) + method-name + (find-selector method-name)))) (labels ((alloc-string-and-register (string) (register-temporary-string (cffi:foreign-string-alloc string)))) |