From df505eedb2356e932fcea657632359250201ff1b Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Mon, 18 Feb 2008 22:12:24 +0100 Subject: Do not allow foreign methods to receive arrays as arguments. darcs-hash:e4df8f6242c1995b1b50592493978f99c707ca00 --- Lisp/method-invocation.lisp | 12 +++--------- 1 file 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 -- cgit v1.2.3