aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2009-09-03 18:48:57 -0300
committerHugo Lima <hugo.lima@openbossa.org>2009-09-03 19:04:03 -0300
commit518028765c892b7a6a840cca92376ccc8b77b04c (patch)
treee2ad45d551fdecad26f4c3f3e50ec18b58ecb46c
parentb811be1ce4aa832ed7aa8542da535000924effa3 (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.cpp14
-rw-r--r--generator.h9
-rw-r--r--generators/boostpython/boostpythongenerator.h5
-rw-r--r--generators/qtdoc/qtdocgenerator.h5
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);