Mercurial > projects > qtd
diff generator/abstractmetalang.h @ 257:17b5e13364b7 lifetime
(none)
author | maxter |
---|---|
date | Wed, 16 Sep 2009 13:56:02 +0000 |
parents | 136c9ee83ee5 |
children | 515d6e1c7b10 |
line wrap: on
line diff
--- a/generator/abstractmetalang.h Mon Aug 31 12:07:28 2009 +0000 +++ b/generator/abstractmetalang.h Wed Sep 16 13:56:02 2009 +0000 @@ -685,6 +685,7 @@ m_functions_fixed(false), m_has_public_destructor(true), m_force_shell_class(false), + m_has_virtual_destructor(false), m_has_hash_function(false), m_has_equals_operator(false), m_has_clone_operator(false), @@ -755,9 +756,17 @@ QString baseClassName() const { return m_base_class ? m_base_class->name() : QString(); } - AbstractMetaClass *baseClass() const { return m_base_class; } + AbstractMetaClass *baseClass() const { return m_base_class;} void setBaseClass(AbstractMetaClass *base_class) { m_base_class = base_class; } + const AbstractMetaClass *rootClass() const + { + const AbstractMetaClass *root = this; + while (root->baseClass()) + root = root->baseClass(); + return root; + } + const AbstractMetaClass *enclosingClass() const { return m_enclosing_class; } void setEnclosingClass(AbstractMetaClass *cl) { m_enclosing_class = cl; } @@ -775,8 +784,10 @@ void setForceShellClass(bool on) { m_force_shell_class = on; } bool generateShellClass() const; - bool hasVirtualSlots() const { return m_has_virtual_slots; } + bool hasVirtualSlots() const { return m_has_virtual_slots; } bool hasVirtualFunctions() const { return !isFinal() && m_has_virtuals; } + bool hasVirtualDestructor() const { return m_has_virtual_destructor; } + bool setHasVirtualDestructor(bool value) { m_has_virtual_destructor = value; } bool hasProtectedFunctions() const; QList<TypeEntry *> templateArguments() const { return m_template_args; } @@ -843,6 +854,8 @@ void setTypeAlias(bool typeAlias) { m_is_type_alias = typeAlias; } bool isTypeAlias() const { return m_is_type_alias; } + + bool isPolymorphic(); const QStringList &depends() { return m_type_entry->depends(); } @@ -857,6 +870,7 @@ uint m_functions_fixed : 1; uint m_has_public_destructor : 1; uint m_force_shell_class : 1; + uint m_has_virtual_destructor : 1; uint m_has_hash_function : 1; uint m_has_equals_operator : 1; uint m_has_clone_operator :1;