att
I found following code in class Object,
bool TypeInfo::IsTypeOf(const TypeInfo* typeInfo) const
{
const TypeInfo* current = this;
while (current)
{
if (current == typeInfo)
return true;
current = current->GetBaseTypeInfo();
}
return false;
}
I think it should be
bool TypeInfo::IsTypeOf(const TypeInfo* typeInfo) const
{
const TypeInfo* current = this;
while (current)
{
if (current->GetType() == typeInfo->GetType())
return true;
current = current->GetBaseTypeInfo();
}
return false;
}
or
bool TypeInfo::IsTypeOf(const TypeInfo* typeInfo) const
{
assert(typeInfo ~= nullptr);
return this->IsTypeOf(typeInfo->GetType());
}