summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-04 19:19:37 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-04 19:19:37 +0100
commitb4517249b210065bcbf398c0b2c11097dd5b5d58 (patch)
tree48f3034e9719fab8c3fb9f0711778ed2a1bfc509 /Lisp/libobjcl.lisp
parentd1b78ba4ce1d6da0873be4d16a95397660f578ad (diff)
Add preliminary support for Objective-C slots.
darcs-hash:7da372a879d14800683cb79a262e86a8037245fc
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp7
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