1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-21 03:52:16 -08:00

Change.mps.dylan.kinglet.160296:

Next-method calls should not have to explicitly name the superclass

Copied from Perforce
 Change: 21070
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Tony Mann 2000-01-11 17:06:00 +00:00
parent 864f5e9bdf
commit 09c8a90815
2 changed files with 18 additions and 7 deletions

View file

@ -1,6 +1,6 @@
/* impl.c.buffer: ALLOCATION BUFFER IMPLEMENTATION
*
* $HopeName: MMsrc!buffer.c(trunk.55) $
* $HopeName: MMsrc!buffer.c(trunk.56) $
* Copyright (C) 1999. Harlequin Limited. All rights reserved.
*
* .purpose: This is (part of) the implementation of allocation buffers.
@ -22,7 +22,7 @@
#include "mpm.h"
SRCID(buffer, "$HopeName: MMsrc!buffer.c(trunk.55) $");
SRCID(buffer, "$HopeName: MMsrc!buffer.c(trunk.56) $");
/* forward declarations */
@ -1370,7 +1370,7 @@ static Res segBufInit (Buffer buffer, Pool pool, va_list args)
segbuf = BufferSegBuf(buffer);
/* Initialize the superclass fields first via next-method call */
super = EnsureBufferClass();
super = BUFFER_SUPERCLASS(SegBufClass);
res = super->init(buffer, pool, args);
if (res != ResOK)
return res;
@ -1398,7 +1398,7 @@ static void segBufFinish (Buffer buffer)
segbuf->sig = SigInvalid;
/* finish the superclass fields last */
super = EnsureBufferClass();
super = BUFFER_SUPERCLASS(SegBufClass);
super->finish(buffer);
}
@ -1534,7 +1534,7 @@ static Res segBufDescribe(Buffer buffer, mps_lib_FILE *stream)
return ResFAIL;
/* Describe the superclass fields first via next-method call */
super = EnsureBufferClass();
super = BUFFER_SUPERCLASS(SegBufClass);
res = super->describe(buffer, stream);
if(res != ResOK)
return res;
@ -1592,7 +1592,7 @@ static Res rankBufInit (Buffer buffer, Pool pool, va_list args)
AVER(RankCheck(rank));
/* Initialize the superclass fields first via next-method call */
super = EnsureSegBufClass();
super = BUFFER_SUPERCLASS(RankBufClass);
res = super->init(buffer, pool, args);
if (res != ResOK)
return res;

View file

@ -1,6 +1,6 @@
/* impl.h.mpm: MEMORY POOL MANAGER DEFINITIONS
*
* $HopeName: MMsrc!mpm.h(trunk.128) $
* $HopeName: MMsrc!mpm.h(trunk.129) $
* Copyright (C) 1999. Harlequin Limited. All rights reserved.
*/
@ -441,6 +441,9 @@ extern AbstractCollectPoolClass EnsureAbstractCollectPoolClass(void);
#define DEFINE_POOL_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, PoolClass, var)
#define POOL_SUPERCLASS(className) \
(PoolClass)SUPERCLASS(className)
/* Message Interface -- see design.mps.message */
@ -612,6 +615,9 @@ extern void ActionPoll(Arena arena);
#define DEFINE_ARENA_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, ArenaClass, var)
#define ARENA_SUPERCLASS(className) \
(ArenaClass)SUPERCLASS(className)
extern AbstractArenaClass EnsureAbstractArenaClass(void);
extern Bool ArenaClassCheck(ArenaClass class);
extern Bool ArenaCheck(Arena arena);
@ -830,6 +836,9 @@ extern void SegClassMixInNoSplitMerge(SegClass class);
#define DEFINE_SEG_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, SegClass, var)
#define SEG_SUPERCLASS(className) \
(SegClass)SUPERCLASS(className)
extern Size SegSize(Seg seg);
extern Addr (SegBase)(Seg seg);
extern Addr (SegLimit)(Seg seg);
@ -934,6 +943,8 @@ extern void BufferFrameSetState(Buffer buffer, FrameState state);
#define DEFINE_BUFFER_CLASS(className, var) \
DEFINE_ALIAS_CLASS(className, BufferClass, var)
#define BUFFER_SUPERCLASS(className) \
(BufferClass)SUPERCLASS(className)
extern Bool BufferClassCheck(BufferClass class);
extern BufferClass EnsureBufferClass(void);