diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2012-11-28 11:54:46 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2012-11-29 14:43:08 +0100 |
commit | db19dd50d435cfba1b25ebcda613df8839b9b7e3 (patch) | |
tree | 5395691ffe928f374f7491ba004ef24b8b139249 /tests/auto/language/tst_language.h | |
parent | 87e31015d671e324e699f8bfc9a9e40f126fe393 (diff) | |
download | qbs-db19dd50d435cfba1b25ebcda613df8839b9b7e3.tar.gz |
Reduce compile dependencies.
While it seems elegant at first glance to do typedefs in class scope, it
has one serious drawback: Forward declarations become impossible unless
they use the non-typedef'ed type name, which defeats the purpose. As a
result, dozens of headers currently include language.h and buildgraph.h,
even though they technically don't have to.
Fix this by introducing special forward-declaring headers and doing the
typedefs there, outside the class scope. Now changes to header files
included in language.h or buildgraph.h don't ripple through half the
project anymore.
Along the way, also remove unneeded and potentially harmful INCLUDEPATH
statements from various pri files.
Change-Id: Ib50db850876955216db7f39b6099c32d1239092b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/language/tst_language.h')
-rw-r--r-- | tests/auto/language/tst_language.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h index 637030dcc..5091a80ca 100644 --- a/tests/auto/language/tst_language.h +++ b/tests/auto/language/tst_language.h @@ -30,6 +30,7 @@ #ifndef TST_LANGUAGE_H #define TST_LANGUAGE_H +#include <language/forward_decls.h> #include <language/loader.h> #include <logging/consolelogger.h> #include <logging/logger.h> @@ -42,12 +43,12 @@ class TestLanguage : public QObject { Q_OBJECT Loader *loader; - ResolvedProject::Ptr project; + ResolvedProjectPtr project; QVariantMap buildConfig; - QHash<QString, ResolvedProduct::Ptr> productsFromProject(ResolvedProject::Ptr project); - ResolvedModule::ConstPtr findModuleByName(ResolvedProduct::Ptr product, const QString &name); - QVariant productPropertyValue(ResolvedProduct::Ptr product, QString propertyName); + QHash<QString, ResolvedProductPtr> productsFromProject(ResolvedProjectPtr project); + ResolvedModuleConstPtr findModuleByName(ResolvedProductPtr product, const QString &name); + QVariant productPropertyValue(ResolvedProductPtr product, QString propertyName); private slots: void initTestCase(); |