From 78d587c5e124877c61b0cfab8fbd05e1b46af550 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 14 Sep 2017 09:14:29 +0200 Subject: [PATCH] Remove "redefined" class slot * module/oop/goops.scm (fold-class-slots): Remove "redefined" field from class objects. Redefinable classes are now handled in a layer on top of GOOPS core. --- module/oop/goops.scm | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/module/oop/goops.scm b/module/oop/goops.scm index 19e68ad59..917367bd4 100644 --- a/module/oop/goops.scm +++ b/module/oop/goops.scm @@ -191,7 +191,6 @@ (name #:class ) (nfields #:class ) (%reserved #:class ) - (redefined) (direct-supers) (direct-slots) (direct-subclasses) @@ -327,7 +326,6 @@ (struct-set! class-index-direct-methods '()) (struct-set! class-index-cpl '()) (struct-set! class-index-slots '()) - (struct-set! class-index-redefined #f) ))) ;;; @@ -437,7 +435,6 @@ followed by its associated value. If @var{l} does not hold a value for (struct-set! class-index-direct-methods '()) (struct-set! class-index-cpl (list )) (struct-set! class-index-slots '()) - (struct-set! class-index-redefined #f) ))) ;;; Access to slot objects is performance-sensitive for slot-ref, so in @@ -830,7 +827,6 @@ slots as we go." (struct-set! z class-index-direct-supers dsupers) (struct-set! z class-index-direct-subclasses '()) (struct-set! z class-index-direct-methods '()) - (struct-set! z class-index-redefined #f) (let ((cpl (compute-cpl z))) (struct-set! z class-index-cpl cpl) (when (memq cpl) @@ -1030,13 +1026,6 @@ slots as we go." "An internal routine to redefine a SMOB class that was added after GOOPS was loaded, and on which scm_set_smob_apply installed an apply function." - ;; Why not use class-redefinition? We would, except that loading the - ;; compiler to compile effective methods can happen while GOOPS has - ;; only been partially loaded, and loading the compiler might cause - ;; SMOB types to be defined that need this facility. Instead we make - ;; a very specific hack, not a general solution. Probably the right - ;; solution is to avoid using the compiler, but that is another kettle - ;; of fish. (unless (memq (class-precedence-list class)) (unless (null? (class-slots class)) (error "SMOB object has slots?")) @@ -2695,7 +2684,6 @@ var{initargs}." (get-keyword #:dsupers initargs '())) (struct-set! class class-index-direct-subclasses '()) (struct-set! class class-index-direct-methods '()) - (struct-set! class class-index-redefined #f) (struct-set! class class-index-cpl (compute-cpl class)) (when (get-keyword #:static-slot-allocation? initargs #f) (match (filter class-has-statically-allocated-slots?