コード例 #1
0
ファイル: ClassCheck.cpp プロジェクト: danielkeller/monkey
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;
}
コード例 #2
0
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(")");
	}
}
コード例 #3
0
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;
	}
}
コード例 #4
0
ファイル: ClassCheck.cpp プロジェクト: danielkeller/monkey
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);
}