1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-23 07:12:12 -07:00

Check that arena, buffer, land classes override sets of related methods.

Copied from Perforce
 Change: 193060
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2017-03-30 20:43:43 +01:00
parent 17c1449096
commit 2962cdff8b
4 changed files with 35 additions and 7 deletions

View file

@ -156,6 +156,15 @@ Bool ArenaClassCheck(ArenaClass klass)
CHECKL(FUNCHECK(klass->compact));
CHECKL(FUNCHECK(klass->pagesMarkAllocated));
CHECKL(FUNCHECK(klass->chunkPageMapped));
/* Check that arena classes override sets of related methods. */
CHECKL((klass->init == ArenaAbsInit)
== (klass->instClassStruct.finish == ArenaAbsFinish));
CHECKL((klass->create == ArenaNoCreate)
== (klass->destroy == ArenaNoDestroy));
CHECKL((klass->chunkInit == ArenaNoChunkInit)
== (klass->chunkFinish == ArenaNoChunkFinish));
CHECKS(ArenaClass, klass);
return TRUE;
}

View file

@ -1014,6 +1014,13 @@ Bool BufferClassCheck(BufferClass klass)
CHECKL(FUNCHECK(klass->rankSet));
CHECKL(FUNCHECK(klass->setRankSet));
CHECKL(FUNCHECK(klass->reassignSeg));
/* Check that buffer classes override sets of related methods. */
CHECKL((klass->init == BufferAbsInit)
== (klass->instClassStruct.finish == BufferAbsFinish));
CHECKL((klass->attach == bufferTrivAttach)
== (klass->detach == bufferTrivDetach));
CHECKS(BufferClass, klass);
return TRUE;
}

View file

@ -12,6 +12,12 @@
SRCID(land, "$Id$");
/* Forward declarations */
static Res landNoInsert(Range rangeReturn, Land land, Range range);
static Res landNoDelete(Range rangeReturn, Land land, Range range);
/* FindDeleteCheck -- check method for a FindDelete value */
Bool FindDeleteCheck(FindDelete findDelete)
@ -409,6 +415,12 @@ Bool LandClassCheck(LandClass klass)
CHECKL(FUNCHECK(klass->findLast));
CHECKL(FUNCHECK(klass->findLargest));
CHECKL(FUNCHECK(klass->findInZones));
/* Check that buffer classes override sets of related methods. */
CHECKL((klass->init == LandAbsInit)
== (klass->instClassStruct.finish == LandAbsFinish));
CHECKL((klass->insert == landNoInsert) == (klass->delete == landNoDelete));
CHECKS(LandClass, klass);
return TRUE;
}

View file

@ -1993,13 +1993,13 @@ Bool SegClassCheck(SegClass klass)
CHECKL(FUNCHECK(klass->walk));
/* Check that segment classes override sets of related methods. */
AVER((klass->init == SegAbsInit)
== (klass->instClassStruct.finish == SegAbsFinish));
AVER((klass->init == gcSegInit)
== (klass->instClassStruct.finish == gcSegFinish));
AVER((klass->merge == segTrivMerge) == (klass->split == segTrivSplit));
AVER((klass->fix == segNoFix) == (klass->fixEmergency == segNoFix));
AVER((klass->fix == segNoFix) == (klass->reclaim == segNoReclaim));
CHECKL((klass->init == SegAbsInit)
== (klass->instClassStruct.finish == SegAbsFinish));
CHECKL((klass->init == gcSegInit)
== (klass->instClassStruct.finish == gcSegFinish));
CHECKL((klass->merge == segTrivMerge) == (klass->split == segTrivSplit));
CHECKL((klass->fix == segNoFix) == (klass->fixEmergency == segNoFix));
CHECKL((klass->fix == segNoFix) == (klass->reclaim == segNoReclaim));
CHECKS(SegClass, klass);
return TRUE;