diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-04 19:19:37 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-04 19:19:37 +0100 |
commit | b4517249b210065bcbf398c0b2c11097dd5b5d58 (patch) | |
tree | 48f3034e9719fab8c3fb9f0711778ed2a1bfc509 /Lisp/libobjcl.lisp | |
parent | d1b78ba4ce1d6da0873be4d16a95397660f578ad (diff) |
Add preliminary support for Objective-C slots.
darcs-hash:7da372a879d14800683cb79a262e86a8037245fc
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r-- | Lisp/libobjcl.lisp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp index bf166c4..4dff7ad 100644 --- a/Lisp/libobjcl.lisp +++ b/Lisp/libobjcl.lisp @@ -742,9 +742,14 @@ separating parts by hyphens works nicely in all of the `:INVERT`, (%objcl-slot-name slot)) (defun objcl-class-direct-slots (class) + (if (typep class 'objective-c-class) + (objcl-class-direct-slots/pointer (pointer-to class)) + nil)) + +(defun objcl-class-direct-slots/pointer (class-ptr) (with-foreign-objects ((count-ptr :unsigned-int) (element-size-ptr :unsigned-int)) - (let ((array-pointer (%objcl-class-direct-slots (pointer-to class) + (let ((array-pointer (%objcl-class-direct-slots class-ptr count-ptr element-size-ptr))) (unwind-protect |