mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-22 19:44:10 +02:00
* eval.c (SCM_CEVAL): Cleaned up the handling of #@dispatch.
Added lots of comments regarding the implementation of #@dispatch. Changed intra-procedure communication to use t.arg1 instead of arg2. Removed some uses of t.arg1, t.lloc and proc as temporary variables. Introduced temporary variables with hopefully descriptive names for clarification. Replaced SCM_N?IMP by a more explicit predicate in some places. Use SCM_INSTANCE_HASH instead of computing the expression explicitly. Eliminate now unused label nontoplevel_cdrxbegin. * goops.h (SCM_INSTANCE_HASH): New macro. * objects.h (SCM_CMETHOD_FORMALS, SCM_CMETHOD_BODY): New macros.
This commit is contained in:
parent
1ebf1566bc
commit
f12745b633
4 changed files with 169 additions and 91 deletions
|
@ -190,6 +190,8 @@ typedef struct scm_effective_slot_definition {
|
|||
#define SCM_ESLOTDEF(x) ((scm_effective_slot_definition *) SCM_CDR (x))
|
||||
|
||||
#define SCM_CMETHOD_CODE(cmethod) SCM_CDR (cmethod)
|
||||
#define SCM_CMETHOD_FORMALS(cmethod) SCM_CAR (SCM_CMETHOD_CODE (cmethod))
|
||||
#define SCM_CMETHOD_BODY(cmethod) SCM_CDR (SCM_CMETHOD_CODE (cmethod))
|
||||
#define SCM_CMETHOD_ENV(cmethod) SCM_CAR (cmethod)
|
||||
|
||||
/* Port classes */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue