mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 06:20:23 +02:00
Remove unused %fast-slot-ref / %fast-slot-set! from GOOPS
* libguile/goops.h: * libguile/goops.c (scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x): Remove these unused, unsafe functions. They were publically available only to C. * module/oop/goops/active-slot.scm (compute-get-n-set): Update to use struct-ref / struct-set! instead of %fast-slot-ref / %fast-slot-set! from (oop goops internal).
This commit is contained in:
parent
82ab50900a
commit
8906f23ded
3 changed files with 5 additions and 43 deletions
|
@ -1169,42 +1169,6 @@ SCM_DEFINE (scm_at_assert_bound_ref, "@assert-bound-ref", 2, 0, 0,
|
|||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
SCM_DEFINE (scm_sys_fast_slot_ref, "%fast-slot-ref", 2, 0, 0,
|
||||
(SCM obj, SCM index),
|
||||
"Return the slot value with index @var{index} from @var{obj}.")
|
||||
#define FUNC_NAME s_scm_sys_fast_slot_ref
|
||||
{
|
||||
scm_t_bits i;
|
||||
|
||||
SCM_VALIDATE_INSTANCE (1, obj);
|
||||
i = scm_to_unsigned_integer (index, 0,
|
||||
SCM_I_INUM (SCM_SLOT (SCM_CLASS_OF (obj),
|
||||
scm_si_nfields))
|
||||
- 1);
|
||||
return SCM_SLOT (obj, i);
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
SCM_DEFINE (scm_sys_fast_slot_set_x, "%fast-slot-set!", 3, 0, 0,
|
||||
(SCM obj, SCM index, SCM value),
|
||||
"Set the slot with index @var{index} in @var{obj} to\n"
|
||||
"@var{value}.")
|
||||
#define FUNC_NAME s_scm_sys_fast_slot_set_x
|
||||
{
|
||||
scm_t_bits i;
|
||||
|
||||
SCM_VALIDATE_INSTANCE (1, obj);
|
||||
i = scm_to_unsigned_integer (index, 0,
|
||||
SCM_I_INUM (SCM_SLOT (SCM_CLASS_OF (obj),
|
||||
scm_si_nfields))
|
||||
- 1);
|
||||
|
||||
SCM_SET_SLOT (obj, i, value);
|
||||
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
/** Utilities **/
|
||||
|
|
|
@ -272,8 +272,6 @@ SCM_API SCM scm_generic_function_methods (SCM obj);
|
|||
SCM_API SCM scm_method_generic_function (SCM obj);
|
||||
SCM_API SCM scm_method_specializers (SCM obj);
|
||||
SCM_API SCM scm_method_procedure (SCM obj);
|
||||
SCM_API SCM scm_sys_fast_slot_ref (SCM obj, SCM index);
|
||||
SCM_API SCM scm_sys_fast_slot_set_x (SCM obj, SCM index, SCM value);
|
||||
SCM_API SCM scm_slot_ref_using_class (SCM cls, SCM obj, SCM slot_name);
|
||||
SCM_API SCM scm_slot_set_using_class_x (SCM cls, SCM obj, SCM slot_name, SCM value);
|
||||
SCM_API SCM scm_slot_bound_using_class_p (SCM cls, SCM obj, SCM slot_name);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; installed-scm-file
|
||||
|
||||
;;;; Copyright (C) 1999, 2001, 2006, 2009 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 1999, 2001, 2006, 2009, 2015 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
|
||||
;;;;
|
||||
;;;; This library is free software; you can redistribute it and/or
|
||||
|
@ -43,11 +43,11 @@
|
|||
(list (lambda (o)
|
||||
(if before-ref
|
||||
(if (before-ref o)
|
||||
(let ((res (%fast-slot-ref o index)))
|
||||
(let ((res (struct-ref o index)))
|
||||
(and after-ref (not (eqv? res unbound)) (after-ref o))
|
||||
res)
|
||||
(make-unbound))
|
||||
(let ((res (%fast-slot-ref o index)))
|
||||
(let ((res (struct-ref o index)))
|
||||
(and after-ref (not (eqv? res unbound)) (after-ref o))
|
||||
res)))
|
||||
|
||||
|
@ -55,9 +55,9 @@
|
|||
(if before-set!
|
||||
(if (before-set! o v)
|
||||
(begin
|
||||
(%fast-slot-set! o index v)
|
||||
(struct-set! o index v)
|
||||
(and after-set! (after-set! o v))))
|
||||
(begin
|
||||
(%fast-slot-set! o index v)
|
||||
(struct-set! o index v)
|
||||
(and after-set! (after-set! o v)))))))
|
||||
(next-method)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue