From 576c9b5c6045940da2586500b7c6bec44d00da69 Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Wed, 2 Jun 2010 15:53:37 -0300 Subject: Added methods to AbstractMetaClass to verify the presence of protected members. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added methods to verify the presence of protected fields and members in general in a class. Reviewed by Renato Araújo Reviewed by Luciano Wolf --- abstractmetalang.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'abstractmetalang.cpp') diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp index 8d25a2319..068256528 100644 --- a/abstractmetalang.cpp +++ b/abstractmetalang.cpp @@ -1373,11 +1373,6 @@ const AbstractMetaFunction* AbstractMetaClass::findFunction(const QString& funct return 0; } -/* Returns true if this class has one or more functions that are - protected. If a class has protected members we need to generate a - shell class with public accessors to the protected functions, so - they can be called from the native functions. -*/ bool AbstractMetaClass::hasProtectedFunctions() const { foreach (AbstractMetaFunction *func, m_functions) { @@ -1387,6 +1382,20 @@ bool AbstractMetaClass::hasProtectedFunctions() const return false; } +bool AbstractMetaClass::hasProtectedFields() const +{ + foreach (const AbstractMetaField *field, fields()) { + if (field->isProtected()) + return true; + } + return false; +} + +bool AbstractMetaClass::hasProtectedMembers() const +{ + return hasProtectedFields() || hasProtectedFunctions(); +} + bool AbstractMetaClass::generateShellClass() const { return m_forceShellClass || -- cgit v1.2.3