Mercurial > projects > qtd
diff generator/abstractmetalang.h @ 262:90131f64c9c9 lifetime
looks like enabling/disabling GC is enough
author | maxter |
---|---|
date | Tue, 22 Sep 2009 15:19:04 +0000 |
parents | b5773ccab07d |
children | 5bcfe9e7db7f |
line wrap: on
line diff
--- a/generator/abstractmetalang.h Mon Sep 21 13:11:04 2009 +0000 +++ b/generator/abstractmetalang.h Tue Sep 22 15:19:04 2009 +0000 @@ -785,11 +785,11 @@ bool generateShellClass() const; bool hasVirtualSlots() const { return m_has_virtual_slots; } - bool hasVirtualFunctions() const { return !isFinal() && m_has_virtuals; } + bool hasVirtualFunctions() const { return !isFinal() && (m_has_virtuals || hasVirtualDestructor()); } bool hasVirtualDestructor() const { return m_has_virtual_destructor || (m_base_class && m_base_class->hasVirtualDestructor()); } bool setHasVirtualDestructor(bool value) { m_has_virtual_destructor = value; } - bool isPolymorphic() const { return hasVirtualFunctions() || hasVirtualDestructor(); } + bool isPolymorphic() const { return typeEntry()->isObject() && (hasVirtualFunctions() || hasVirtualDestructor()); } bool hasProtectedFunctions() const; QList<TypeEntry *> templateArguments() const { return m_template_args; }