From f9a67e67a8f4e4f7bfca09d095098a78579685a1 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Fri, 11 Apr 2008 20:19:09 +0000 Subject: [PATCH] Vector arguments declared as SEQUENCE Organization: Straylight/Edgeware From: espen --- gffi/vectors.lisp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gffi/vectors.lisp b/gffi/vectors.lisp index 2131a2a..1a9313e 100644 --- a/gffi/vectors.lisp +++ b/gffi/vectors.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: vectors.lisp,v 1.5 2007-09-07 07:28:42 espen Exp $ +;; $Id: vectors.lisp,v 1.6 2008-04-11 20:19:09 espen Exp $ (in-package "GFFI") @@ -114,19 +114,17 @@ (define-type-method alien-type ((type vector)) (declare (ignore type)) (alien-type 'pointer)) -(defun vector-type (type) +(define-type-method argument-type ((type vector)) + (declare (ignore type)) + 'sequence) + +(define-type-method return-type ((type vector)) (destructuring-bind (element-type &optional (length '*)) (rest (type-expand-to 'vector type)) (if (constantp length) `(vector ,(return-type element-type) ,length) `(vector ,(return-type element-type) *)))) -(define-type-method argument-type ((type vector)) - (vector-type type)) - -(define-type-method return-type ((type vector)) - (vector-type type)) - (define-type-method size-of ((type vector) &key inlined) (if inlined (destructuring-bind (element-type &optional (length '*)) -- [mdw]