1059 |
(define-method (remove-class-accessors! (c <class>)) |
(define-method (remove-class-accessors! (c <class>)) |
1060 |
(for-each (lambda (m) |
(for-each (lambda (m) |
1061 |
(if (is-a? m <accessor-method>) |
(if (is-a? m <accessor-method>) |
1062 |
(remove-method-in-classes! m))) |
(let ((gf (slot-ref m 'generic-function))) |
1063 |
|
;; remove the method from its GF |
1064 |
|
(slot-set! gf 'methods |
1065 |
|
(delq1! m (slot-ref gf 'methods))) |
1066 |
|
(%invalidate-method-cache! gf) |
1067 |
|
;; remove the method from its specializers |
1068 |
|
(remove-method-in-classes! m)))) |
1069 |
(class-direct-methods c))) |
(class-direct-methods c))) |
1070 |
|
|
1071 |
;;; |
;;; |
1131 |
(make <accessor-method> |
(make <accessor-method> |
1132 |
#:specializers (list class) |
#:specializers (list class) |
1133 |
#:procedure (cond ((pair? g-n-s) |
#:procedure (cond ((pair? g-n-s) |
1134 |
(if init-thunk |
(make-generic-bound-check-getter (car g-n-s))) |
|
(car g-n-s) |
|
|
(make-generic-bound-check-getter (car g-n-s)) |
|
|
)) |
|
1135 |
(init-thunk |
(init-thunk |
1136 |
(standard-get g-n-s)) |
(standard-get g-n-s)) |
1137 |
(else |
(else |