summaryrefslogtreecommitdiff
path: root/Lisp/class-definition.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-03 00:52:34 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-03 00:52:34 +0100
commit5c746b80b1daa4b5ab8b57346bda535ebca72b63 (patch)
treea93cb93891be192016ee8765c898fa48f34135bb /Lisp/class-definition.lisp
parent48456409ce2b1c53932ff9adc005db7cf2e4f45d (diff)
Implement SLOT-MAKUNBOUND for Objective-C wrapper objects.
darcs-hash:ef968cdf81b142725469929419b150f4dd49846b
Diffstat (limited to 'Lisp/class-definition.lisp')
-rw-r--r--Lisp/class-definition.lisp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Lisp/class-definition.lisp b/Lisp/class-definition.lisp
index b4540f0..ffeca02 100644
--- a/Lisp/class-definition.lisp
+++ b/Lisp/class-definition.lisp
@@ -72,7 +72,7 @@
(etypecase effective-slot-definition
(c2mop:standard-effective-slot-definition (call-next-method))
(foreign-effective-slot-definition
- (cerror "FIXME" '()))))
+ (cerror "Continue" "FIXME"))))
(defmethod (setf c2mop:slot-value-using-class) (value
@@ -82,7 +82,7 @@
(etypecase effective-slot-definition
(c2mop:standard-effective-slot-definition (call-next-method))
(foreign-effective-slot-definition
- (cerror "FIXME" '()))))
+ (cerror "Continue" "FIXME"))))
(defmethod c2mop:slot-boundp-using-class ((class objective-c-class)
@@ -94,6 +94,17 @@
(foreign-effective-slot-definition t)))
+(defmethod c2mop:slot-makunbound-using-class ((class objective-c-class)
+ instance
+ effective-slot-definition)
+ (declare (ignore instance))
+ (etypecase effective-slot-definition
+ (c2mop:standard-effective-slot-definition (call-next-method))
+ (foreign-effective-slot-definition
+ (cerror "Continue without doing anything"
+ "Tried to SLOT-MAKUNBOUND a foreign slot"))))
+
+
(defmethod c2mop:compute-slots ((class objective-c-class))
;; FIXME: Maybe add lots of foreign slots here whose presence the
;; Objective-C runtime tells us.