summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-18 22:12:24 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-18 22:12:24 +0100
commitdf505eedb2356e932fcea657632359250201ff1b (patch)
treefdba84870d55d2648b1af53997decfe500b246dc
parent38938b79024c89ccbadd631e53b73797a98b0fb8 (diff)
Do not allow foreign methods to receive arrays as arguments.
darcs-hash:e4df8f6242c1995b1b50592493978f99c707ca00
-rw-r--r--Lisp/method-invocation.lisp12
1 files changed, 3 insertions, 9 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index c16e20d..cb60067 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -392,15 +392,9 @@ easier to use with __apply__.
(setf (cffi:mem-aref objc-arg-ptrs :pointer i)
arg))
((array)
- ;; This, too, might someday be ripped out and
- ;; replaced with something more flexible. For
- ;; now, it's the same as for structs and unions.
- ;; That's the nice thing about opaque C data
- ;; structures: As a binding writer, we just pass
- ;; them around without caring about their
- ;; structure.
- (setf (cffi:mem-aref objc-arg-ptrs :pointer i)
- arg))
+ (error "Method ~A of object ~A tried to accept an array ~
+ as argument #~D. It must be mistaken."
+ selector receiver i))
((id)
;; This case is actually interesting. We can do a
;; lot of automatic conversion between different