summaryrefslogtreecommitdiff
path: root/oop/goops.scm
diff options
context:
space:
mode:
Diffstat (limited to 'oop/goops.scm')
-rw-r--r--oop/goops.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/oop/goops.scm b/oop/goops.scm
index 2a250c7fa..406210891 100644
--- a/oop/goops.scm
+++ b/oop/goops.scm
@@ -484,6 +484,9 @@
ls))))
`(make <method>
#:specializers (cons* ,@(specializers args))
+ #:formals ',(formals args)
+ #:body ',body
+ #:compile-env (compile-time-environment)
#:procedure (lambda ,(formals args)
,@(if (null? body)
(list *unspecified*)
@@ -1427,7 +1430,11 @@
(slot-set! method 'specializers (get-keyword #:specializers initargs '()))
(slot-set! method 'procedure
(get-keyword #:procedure initargs dummy-procedure))
- (slot-set! method 'code-table '()))
+ (slot-set! method 'code-table '())
+ (slot-set! method 'formals (get-keyword #:formals initargs '()))
+ (slot-set! method 'body (get-keyword #:body initargs '()))
+ (slot-set! method 'compile-env (get-keyword #:compile-env initargs #f)))
+
(define-method (initialize (obj <foreign-object>) initargs))