Changeset 14203
- Timestamp:
- Aug 21, 2010, 3:40:40 AM (14 years ago)
- Location:
- trunk/source/objc-bridge
- Files:
-
- 3 edited
-
objc-package.lisp (modified) (1 diff)
-
objc-runtime.lisp (modified) (3 diffs)
-
objc-support.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/objc-bridge/objc-package.lisp
r13067 r14203 45 45 "OBJC-MESSAGE-SEND-SUPER" "OBJC-MESSAGE-SEND-SUPER-STRET" 46 46 "LOAD-FRAMEWORK" "*OBJC-DESCRIPTION-MAX-LENGTH*" 47 "REMOVE-LISP-SLOTS" 47 48 )) 48 49 -
trunk/source/objc-bridge/objc-runtime.lisp
r14198 r14203 2470 2470 (#___objc_exec_class m))) 2471 2471 2472 2472 2473 #+(or apple-objc-2.0 cocotron-objc) 2473 2474 (defun %add-objc-class (class) … … 2753 2754 2754 2755 2756 2757 2758 2759 2760 2761 2755 2762 2756 2763 … … 3083 3090 #+gnu-objc (#_method_get_number_of_arguments m)) 3084 3091 3085 #+( or apple-objc cocotron-objc)3092 #+(and bad-idea (or apple-objc cocotron-objc)) 3086 3093 (progn 3087 3094 (defloadvar *original-deallocate-hook* nil) -
trunk/source/objc-bridge/objc-support.lisp
r13023 r14203 168 168 (nsobject-description (ns-exception c)))))) 169 169 170 170 (defun ensure-dealloc-method-for-class (class) 171 (let* ((direct-slots (class-direct-slots class)) 172 (effective-slots (class-slots class))) 173 (when (and (dolist (d direct-slots) 174 (when (and (typep d 'standard-direct-slot-definition) 175 (eq :instance (slot-definition-allocation d))) 176 (return t))) 177 (dolist (e effective-slots t) 178 (when (and (typep e 'standard-effective-slot-definition) 179 (eq :instance (slot-definition-allocation e)) 180 (not (find (slot-definition-name e) 181 direct-slots 182 :key #'slot-definition-name 183 :test #'eq))) 184 (return)))) 185 (eval `(objc:defmethod (#/dealloc :void) ((self ,(class-name class))) 186 (objc:remove-lisp-slots self) 187 (call-next-method)))))) 188 189 (eval-when (:compile-toplevel :execute) 190 (declaim (ftype (function (&rest t) t) objc-callback-error-return))) 171 191 172 192 (defclass ns-lisp-exception (ns::ns-exception)
Note:
See TracChangeset
for help on using the changeset viewer.
