static Res EPVMSegDescribe(Seg seg, mps_lib_FILE *stream) { Res res; EPVMSeg epvmSeg; SegClass super; /* .describe.check: Debugging tools don't AVER things. */ if (!CHECKT(Seg, seg)) return ResFAIL; if (stream == NULL) return ResFAIL; epvmSeg = Seg2EPVMSeg(seg); if (!CHECKT(EPVMSeg, epvmSeg)) return ResFAIL; /* Describe the superclass fields first via next-method call */ super = SEG_SUPERCLASS(EPVMSegClass); res = super->describe(seg, stream); if (res != ResOK) return res; res = WriteF(stream, " save $P\n", (WriteFP)epvmSeg->save, NULL); return res; }
static Res ArenaTrivDescribe(Arena arena, mps_lib_FILE *stream) { if (!CHECKT(Arena, arena)) return ResFAIL; if (stream == NULL) return ResFAIL; return WriteF(stream, " No class-specific description available.\n", NULL); }