summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-09-18 00:50:47 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-09-18 00:50:47 +0200
commitc93a74f1befea75be769fb47968e67568139954d (patch)
tree3774752500b8e615f98c10e6245544a7247aeaf2 /Lisp/method-invocation.lisp
parentf98c79811e81eff07f967f28c108b76a4a7d1343 (diff)
Objective-C layer: Add functions for dealing with classes and metaclasses.
darcs-hash:9ce15bb5fff3fb127cf4f6b72e70fa58c1cc2345
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp5
1 files changed, 2 insertions, 3 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index bc6cc2d..e290e50 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -392,15 +392,14 @@ Returns: *result* --- the return value of the method invocation.
(defun invoke-with-conversion (receiver method-name &rest args)
(let* ((selector (selector method-name))
- (class (primitive-invoke receiver 'class 'objc-class)))
+ (class (object-get-class receiver)))
(multiple-value-bind (argc
method-return-typestring
method-return-type
method-arg-typestrings
method-arg-types)
(retrieve-method-signature-info class selector
- (if (cffi:pointer-eq (pointer-to receiver)
- (pointer-to class))
+ (if (object-is-class-p receiver)
:class
:instance))
(assert (= argc (+ 2 (length args)))