From 21d14254f0ad84b13c0fc4bdcaa9c1ea71229dec Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Mon, 1 May 1989 21:10:16 +0000 Subject: [PATCH] Add operation `object-description' which is to be used by inspection tools to examine class-system instances. --- v7/src/edwin/class.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/v7/src/edwin/class.scm b/v7/src/edwin/class.scm index ccf6da40b..398794bcc 100644 --- a/v7/src/edwin/class.scm +++ b/v7/src/edwin/class.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/class.scm,v 1.69 1989/04/28 22:48:24 cph Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/class.scm,v 1.70 1989/05/01 21:10:16 cph Rel $ ;;; ;;; Copyright (c) 1986, 1989 Massachusetts Institute of Technology ;;; @@ -92,7 +92,7 @@ (and class (or (eq? class class*) (loop (class-superclass class))))))) - + (define (make-object class) (if (not (class? class)) (error "not a class" class)) @@ -119,6 +119,11 @@ (define-integrable (object-method object name) (class-method (object-class object) name)) +(define (object-description object) + (map (lambda (transform) + (list (car transform) (vector-ref object (cdr transform)))) + (class-instance-transforms (object-class object)))) + (define (send object operation . args) (apply (object-method object operation) object args)) -- 2.25.1