diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-04 15:32:37 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-04 15:32:37 +0100 |
commit | 4700986fb98b7b0685aa8d351d39cf14b67f6cf3 (patch) | |
tree | 7774aeea3ad10c69d8b0bd84c4b3853f58e2630a /Lisp/libobjcl.lisp | |
parent | 94383388101170742989e188e020f91b81a2ddfe (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.lisp | 6 |
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) |