diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2009-09-03 18:48:57 -0300 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2009-09-03 19:04:03 -0300 |
commit | 518028765c892b7a6a840cca92376ccc8b77b04c (patch) | |
tree | e2ad45d551fdecad26f4c3f3e50ec18b58ecb46c | |
parent | b811be1ce4aa832ed7aa8542da535000924effa3 (diff) |
Fixed assert failure when using qtdocgenerator.
Added a default implementation for Generator::subDirectoryForClass.
This breaks the binary compatibility but NOT the source compatibility.
-rw-r--r-- | generator.cpp | 14 | ||||
-rw-r--r-- | generator.h | 9 | ||||
-rw-r--r-- | generators/boostpython/boostpythongenerator.h | 5 | ||||
-rw-r--r-- | generators/qtdoc/qtdocgenerator.h | 5 |
4 files changed, 16 insertions, 17 deletions
diff --git a/generator.cpp b/generator.cpp index dfcbcb8e2..274ccc73b 100644 --- a/generator.cpp +++ b/generator.cpp @@ -420,3 +420,17 @@ QString Generator::translateType(const AbstractMetaType *cType, return s; } + + +QString Generator::subDirectoryForClass(const AbstractMetaClass* clazz) const +{ + return subDirectoryForPackage(clazz->package()); +} + +QString Generator::subDirectoryForPackage(QString packageName) const +{ + if (packageName.isEmpty()) + packageName = m_packageName; + return QString(packageName).replace(".", QDir::separator()); +} + diff --git a/generator.h b/generator.h index 06dca5074..4c6236c8f 100644 --- a/generator.h +++ b/generator.h @@ -137,7 +137,7 @@ public: virtual bool shouldGenerate(const AbstractMetaClass *) const; /// Returns the subdirectory used to write the binding code of an AbstractMetaClass. - virtual QString subDirectoryForClass(const AbstractMetaClass* clazz) const = 0; + virtual QString subDirectoryForClass(const AbstractMetaClass* clazz) const; /** * Translate metatypes to binding source format. @@ -251,12 +251,7 @@ protected: * or nothing the use the name of the currently processed package * /return a string representing the subdirectory path for the given package */ - virtual QString subDirectoryForPackage(QString packageName = QString()) const - { - if (packageName.isEmpty()) - packageName = m_packageName; - return QString(packageName).replace(".", QDir::separator()); - } + virtual QString subDirectoryForPackage(QString packageName = QString()) const; /** * Write the bindding code for an AbstractMetaClass. diff --git a/generators/boostpython/boostpythongenerator.h b/generators/boostpython/boostpythongenerator.h index 2f48b1804..e41081f6d 100644 --- a/generators/boostpython/boostpythongenerator.h +++ b/generators/boostpython/boostpythongenerator.h @@ -105,11 +105,6 @@ public: Options = NoOption, int arg_count = -1); - virtual QString subDirectoryForClass(const AbstractMetaClass* metaClass) const - { - return subDirectoryForPackage(metaClass->package()); - } - QStringList getBaseClasses(const AbstractMetaClass* cppClass); static QString getWrapperName(const AbstractMetaClass* clazz); diff --git a/generators/qtdoc/qtdocgenerator.h b/generators/qtdoc/qtdocgenerator.h index 8f39e72c8..189cfb668 100644 --- a/generators/qtdoc/qtdocgenerator.h +++ b/generators/qtdoc/qtdocgenerator.h @@ -184,11 +184,6 @@ protected: void writeFunctionArguments(QTextStream&, const AbstractMetaFunction*, Options) const {} void writeArgumentNames(QTextStream&, const AbstractMetaFunction*, Options) const {} - QString subDirectoryForClass(const AbstractMetaClass* clazz) const - { - Q_ASSERT(false); - return QString(); - } private: void writeEnums(QTextStream& s, const AbstractMetaClass* cppClass); |