bool ClassChecker::CheckClassSizes() { size_t num_classes = ClassSize(-1); for (size_t i = 0; i < num_classes && i < MAX_CLASSES; ++i) if (class_sizes[i] != ClassSize(i)) return false; return true; }
void CEmbeddedObject::PrintObject(CChars* psz, BOOL bEmbedded) { int iDistToRoot; int iDistToStack; psz->Append(PointerToString(this)); psz->Append(" ["); iDistToRoot = GetDistToRoot(); if (iDistToRoot >= 0 && iDistToRoot <= 9) { psz->Append(" "); } psz->Append(iDistToRoot); iDistToStack = GetDistToStack(); if (iDistToStack != UNKNOWN_DIST_TO_STACK) { psz->Append(","); psz->Append(iDistToStack); } psz->Append("]:"); if (bEmbedded) { psz->Append("("); } psz->Append(ClassName()); psz->Append("("); psz->Append(ClassSize()); psz->Append(") Index:"); psz->Append(GetOI()); if (IsNamed()) { psz->Append(" Name:"); psz->Append(GetName()); } psz->Append(" Froms:"); psz->Append(CEmbeddedObject::NumHeapFroms()); psz->Append(","); psz->Append(CEmbeddedObject::NumStackFroms()); if (bEmbedded) { psz->Append(")"); } }
int CUnknown::Compare(CUnknown* pcRight) { unsigned int iSmallest; if (pcRight) { iSmallest = ClassSize(); if (pcRight->ClassSize() < iSmallest) { iSmallest = pcRight->ClassSize(); } return memcmp(this, pcRight, iSmallest); } else { //It's not really valid to compare this with NULL but we have to return something. return -1; } }
ClassChecker::ClassChecker() { size_t num_classes = ClassSize(-1); for (size_t i = 0; i < num_classes && i < MAX_CLASSES; ++i) class_sizes[i] = ClassSize(i); }