summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-04 15:32:37 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-04 15:32:37 +0100
commit4700986fb98b7b0685aa8d351d39cf14b67f6cf3 (patch)
tree7774aeea3ad10c69d8b0bd84c4b3853f58e2630a /Lisp/libobjcl.lisp
parent94383388101170742989e188e020f91b81a2ddfe (diff)
Make ID the root of the Objective-C class hierarchy.
darcs-hash:7d709124e74a1782fecaf2ee75a0a229783fec8b
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index 618a8b1..bf166c4 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -253,7 +253,9 @@ conventional case for namespace identifiers in Objective-C."
(let ((class-ptr (%objcl-find-class class-name-string)))
(if (objc-pointer-null class-ptr)
nil
- (let ((class-name (objc-class-name->symbol class-name-string)))
+ (let ((class-name (objc-class-name->symbol class-name-string))
+ (superclass (or (objcl-class-superclass/pointer class-ptr)
+ (find-class 'id))))
(or (find-class class-name nil)
(c2mop:ensure-class class-name
:metaclass (class-name
@@ -261,7 +263,7 @@ conventional case for namespace identifiers in Objective-C."
class-name-string))
:pointer class-ptr
:wrapped-foreign-class class-name-string
- :direct-superclasses (list (objcl-class-superclass/pointer class-ptr))))))))
+ :direct-superclasses (list superclass)))))))
(defun find-objc-meta-class (meta-class-name &optional errorp)