summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2020-02-12 15:16:50 +0100
committerPaul Wicking <paul.wicking@qt.io>2020-03-04 11:41:27 +0100
commit94ee5927f5551d32876f5854c8b0f630b68b4659 (patch)
treef38dbb99e08e4409c5160a84f7519b0e22196d3b
parente0c75e0bb8a2e71e2d6a583158ebd7a825bfd234 (diff)
QDoc: Disentangle Generator and Config
* Keep track of use of DocBook extensions in Config. * Let Location query Config about use of Timestamps in logging. * Set writeQaPages in Config and get it from there. * Let Location query Config about whether logging is enabled or not. * Let Config track if QDoc is running in single or dual exec mode. * Move phase information to Config and track the current phase state there. * Remove the inclusion of generator.h from config.cpp, clangcodeparser.cpp. Task-number: QTBUG-82106 Change-Id: I06c8aeb40417e5c83cfa693f5f1ab2c210d34469 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
-rw-r--r--src/qdoc/clangcodeparser.cpp4
-rw-r--r--src/qdoc/config.cpp20
-rw-r--r--src/qdoc/config.h21
-rw-r--r--src/qdoc/docbookgenerator.cpp2
-rw-r--r--src/qdoc/generator.cpp8
-rw-r--r--src/qdoc/generator.h17
-rw-r--r--src/qdoc/htmlgenerator.cpp15
-rw-r--r--src/qdoc/location.cpp7
-rw-r--r--src/qdoc/location.h3
-rw-r--r--src/qdoc/main.cpp18
-rw-r--r--src/qdoc/qdocdatabase.cpp9
-rw-r--r--src/qdoc/tree.cpp7
12 files changed, 65 insertions, 66 deletions
diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp
index 645acc5bd..04fd8bd49 100644
--- a/src/qdoc/clangcodeparser.cpp
+++ b/src/qdoc/clangcodeparser.cpp
@@ -45,7 +45,6 @@
#include "codechunk.h"
#include "config.h"
-#include "generator.h"
#include "loggingcategory.h"
#include "qdocdatabase.h"
#include "utilities.h"
@@ -1703,7 +1702,8 @@ Node *ClangCodeParser::parseFnArg(const Location &location, const QString &fnArg
*/
if (fnNode == nullptr) {
unsigned diagnosticCount = clang_getNumDiagnostics(tu);
- if (diagnosticCount > 0 && (!Generator::preparing() || Generator::singleExec())) {
+ const auto &config = Config::instance();
+ if (diagnosticCount > 0 && (!config.preparing() || config.singleExec())) {
bool report = true;
QStringList signature = fnArg.split(QChar('('));
if (signature.size() > 1) {
diff --git a/src/qdoc/config.cpp b/src/qdoc/config.cpp
index 21527f5b5..dee983004 100644
--- a/src/qdoc/config.cpp
+++ b/src/qdoc/config.cpp
@@ -31,7 +31,6 @@
*/
#include "config.h"
-#include "generator.h"
#include "loggingcategory.h"
#include <QtCore/qdebug.h>
@@ -57,6 +56,7 @@ QString ConfigStrings::CPPCLASSESTITLE = QStringLiteral("cppclassestitle");
QString ConfigStrings::DEFINES = QStringLiteral("defines");
QString ConfigStrings::DEPENDS = QStringLiteral("depends");
QString ConfigStrings::DESCRIPTION = QStringLiteral("description");
+QString ConfigStrings::DOCBOOKEXTENSIONS = QStringLiteral("usedocbookextensions");
QString ConfigStrings::EDITION = QStringLiteral("edition");
QString ConfigStrings::ENDHEADER = QStringLiteral("endheader");
QString ConfigStrings::EXAMPLEDIRS = QStringLiteral("exampledirs");
@@ -85,6 +85,7 @@ QString ConfigStrings::LANDINGPAGE = QStringLiteral("landingpage");
QString ConfigStrings::LANDINGTITLE = QStringLiteral("landingtitle");
QString ConfigStrings::LANGUAGE = QStringLiteral("language");
QString ConfigStrings::LOCATIONINFO = QStringLiteral("locationinfo");
+QString ConfigStrings::LOGPROGRESS = QStringLiteral("logprogress");
QString ConfigStrings::MACRO = QStringLiteral("macro");
QString ConfigStrings::MANIFESTMETA = QStringLiteral("manifestmeta");
QString ConfigStrings::MODULEHEADER = QStringLiteral("moduleheader");
@@ -117,6 +118,7 @@ QString ConfigStrings::STYLESHEETS = QStringLiteral("stylesheets");
QString ConfigStrings::SYNTAXHIGHLIGHTING = QStringLiteral("syntaxhighlighting");
QString ConfigStrings::TABSIZE = QStringLiteral("tabsize");
QString ConfigStrings::TAGFILE = QStringLiteral("tagfile");
+QString ConfigStrings::TIMESTAMPS = QStringLiteral("timestamps");
QString ConfigStrings::TRANSLATORS = QStringLiteral("translators");
QString ConfigStrings::URL = QStringLiteral("url");
QString ConfigStrings::VERSION = QStringLiteral("version");
@@ -385,24 +387,20 @@ void Config::processCommandLineOptions(const QStringList &args)
debug_ = m_parser.isSet(m_parser.debugOption);
- // TODO: Make Generator use Config instead of storing these separately
if (m_parser.isSet(m_parser.prepareOption))
- Generator::setQDocPass(Generator::Prepare);
+ m_qdocPass = Prepare;
if (m_parser.isSet(m_parser.generateOption))
- Generator::setQDocPass(Generator::Generate);
- if (m_parser.isSet(m_parser.singleExecOption))
- Generator::setSingleExec();
+ m_qdocPass = Generate;
if (m_parser.isSet(m_parser.writeQaPagesOption)) {
- Generator::setWriteQaPages();
qCWarning(lcQdoc,
"The QA pages option for QDoc is deprecated and will be removed in Qt 6.");
}
if (m_parser.isSet(m_parser.logProgressOption))
- Location::startLoggingProgress();
+ setStringList(CONFIG_LOGPROGRESS, QStringList("true"));
if (m_parser.isSet(m_parser.timestampsOption))
- Generator::setUseTimestamps();
+ setStringList(CONFIG_TIMESTAMPS, QStringList("true"));
if (m_parser.isSet(m_parser.useDocBookExtensions))
- Generator::setUseDocBookExtensions();
+ setStringList(CONFIG_DOCBOOKEXTENSIONS, QStringList("true"));
}
void Config::setIncludePaths()
@@ -475,7 +473,7 @@ QString Config::getOutputDir(const QString &format) const
t = getString(CONFIG_OUTPUTDIR);
else
t = overrideOutputDir;
- if (Generator::singleExec()) {
+ if (getBool(CONFIG_SINGLEEXEC)) {
QString project = getString(CONFIG_PROJECT);
t += QLatin1Char('/') + project.toLower();
}
diff --git a/src/qdoc/config.h b/src/qdoc/config.h
index 151a8caee..30b2637f6 100644
--- a/src/qdoc/config.h
+++ b/src/qdoc/config.h
@@ -98,6 +98,8 @@ class Config : public Singleton<Config>
public:
~Config();
+ enum QDocPass { Neither, Prepare, Generate };
+
void init(const QString &programName, const QStringList &args);
bool getDebug() const { return debug_; }
@@ -163,6 +165,7 @@ public:
static QSet<QString> overrideOutputFormats;
inline bool singleExec() const;
+ inline bool dualExec() const;
QStringList &defines() { return m_defines; }
QStringList &dependModules() { return m_dependModules; }
QStringList &includePaths() { return m_includePaths; }
@@ -172,6 +175,11 @@ public:
QString previousCurrentDir() const { return m_previousCurrentDir; }
void setPreviousCurrentDir(const QString &path) { m_previousCurrentDir = path; }
+ QDocPass qdocPass() const { return m_qdocPass; }
+ void setQDocPass(const QDocPass &pass) { m_qdocPass = pass; };
+ bool preparing() const { return (m_qdocPass == Prepare); }
+ bool generating() const { return (m_qdocPass == Generate); }
+
private:
void processCommandLineOptions(const QStringList &args);
void setIncludePaths();
@@ -198,6 +206,8 @@ private:
static QStack<QString> workingDirs_;
static QMap<QString, QStringList> includeFilesMap_;
QDocCommandLineParser m_parser;
+
+ QDocPass m_qdocPass = Neither;
};
struct ConfigStrings
@@ -214,6 +224,7 @@ struct ConfigStrings
static QString DEFINES;
static QString DEPENDS;
static QString DESCRIPTION;
+ static QString DOCBOOKEXTENSIONS;
static QString EDITION;
static QString ENDHEADER;
static QString EXAMPLEDIRS;
@@ -242,6 +253,7 @@ struct ConfigStrings
static QString LANDINGTITLE;
static QString LANGUAGE;
static QString LOCATIONINFO;
+ static QString LOGPROGRESS;
static QString MACRO;
static QString MANIFESTMETA;
static QString MODULEHEADER;
@@ -273,6 +285,7 @@ struct ConfigStrings
static QString SYNTAXHIGHLIGHTING;
static QString TABSIZE;
static QString TAGFILE;
+ static QString TIMESTAMPS;
static QString TRANSLATORS;
static QString URL;
static QString VERSION;
@@ -298,6 +311,7 @@ struct ConfigStrings
#define CONFIG_DEFINES ConfigStrings::DEFINES
#define CONFIG_DEPENDS ConfigStrings::DEPENDS
#define CONFIG_DESCRIPTION ConfigStrings::DESCRIPTION
+#define CONFIG_DOCBOOKEXTENSIONS ConfigStrings::DOCBOOKEXTENSIONS
#define CONFIG_EDITION ConfigStrings::EDITION
#define CONFIG_ENDHEADER ConfigStrings::ENDHEADER
#define CONFIG_EXAMPLEDIRS ConfigStrings::EXAMPLEDIRS
@@ -326,6 +340,7 @@ struct ConfigStrings
#define CONFIG_LANDINGTITLE ConfigStrings::LANDINGTITLE
#define CONFIG_LANGUAGE ConfigStrings::LANGUAGE
#define CONFIG_LOCATIONINFO ConfigStrings::LOCATIONINFO
+#define CONFIG_LOGPROGRESS ConfigStrings::LOGPROGRESS
#define CONFIG_MACRO ConfigStrings::MACRO
#define CONFIG_MANIFESTMETA ConfigStrings::MANIFESTMETA
#define CONFIG_MODULEHEADER ConfigStrings::MODULEHEADER
@@ -357,6 +372,7 @@ struct ConfigStrings
#define CONFIG_SYNTAXHIGHLIGHTING ConfigStrings::SYNTAXHIGHLIGHTING
#define CONFIG_TABSIZE ConfigStrings::TABSIZE
#define CONFIG_TAGFILE ConfigStrings::TAGFILE
+#define CONFIG_TIMESTAMPS ConfigStrings::TIMESTAMPS
#define CONFIG_TRANSLATORS ConfigStrings::TRANSLATORS
#define CONFIG_URL ConfigStrings::URL
#define CONFIG_VERSION ConfigStrings::VERSION
@@ -374,6 +390,11 @@ inline bool Config::singleExec() const
return getBool(CONFIG_SINGLEEXEC);
}
+inline bool Config::dualExec() const
+{
+ return !getBool(CONFIG_SINGLEEXEC);
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp
index 8e2292211..5f8d961f8 100644
--- a/src/qdoc/docbookgenerator.cpp
+++ b/src/qdoc/docbookgenerator.cpp
@@ -2537,7 +2537,7 @@ void DocBookGenerator::generateDocBookSynopsis(const Node *node)
// Generator::generateThreadSafeness, QDocIndexFiles::generateIndexSection.
// This function is the only place where DocBook extensions are used.
- if (useDocBookExtensions())
+ if (config->getBool(CONFIG_DOCBOOKEXTENSIONS))
return;
// Nothing to export in some cases.
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp
index f886ef56c..7bb32f471 100644
--- a/src/qdoc/generator.cpp
+++ b/src/qdoc/generator.cpp
@@ -75,12 +75,8 @@ QStringList Generator::styleFiles;
bool Generator::noLinkErrors_ = false;
bool Generator::autolinkErrors_ = false;
bool Generator::redirectDocumentationToDevNull_ = false;
-Generator::QDocPass Generator::qdocPass_ = Generator::Neither;
bool Generator::qdocSingleExec_ = false;
-bool Generator::qdocWriteQaPages_ = false;
bool Generator::useOutputSubdirs_ = true;
-bool Generator::useTimestamps_ = false;
-bool Generator::useDocBookExtensions_ = false;
QmlTypeNode *Generator::qmlTypeContext_ = nullptr;
static QRegExp tag("</?@[^>]*>");
@@ -1814,7 +1810,7 @@ void Generator::initializeFormat()
QDir dirInfo;
if (dirInfo.exists(outDir_)) {
- if (!generating() && Generator::useOutputSubdirs()) {
+ if (!config.generating() && Generator::useOutputSubdirs()) {
if (!Config::removeDirContents(outDir_))
config.lastLocation().error(tr("Cannot empty output directory '%1'").arg(outDir_));
}
@@ -1823,7 +1819,7 @@ void Generator::initializeFormat()
}
// Output directory exists, which is enough for prepare phase.
- if (preparing())
+ if (config.preparing())
return;
if (!dirInfo.exists(outDir_ + "/images") && !dirInfo.mkdir(outDir_ + "/images"))
diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h
index 05a215c46..fd5fbbcef 100644
--- a/src/qdoc/generator.h
+++ b/src/qdoc/generator.h
@@ -52,7 +52,6 @@ class Generator
Q_DECLARE_TR_FUNCTIONS(QDoc::Generator)
public:
- enum QDocPass { Neither, Prepare, Generate };
enum ListType { Generic, Obsolete };
Generator();
@@ -80,16 +79,6 @@ public:
static void augmentImageDirs(QSet<QString> &moreImageDirs);
static bool noLinkErrors() { return noLinkErrors_; }
static bool autolinkErrors() { return autolinkErrors_; }
- static void setQDocPass(QDocPass t) { qdocPass_ = t; }
- static void setUseTimestamps() { useTimestamps_ = true; }
- static void setUseDocBookExtensions() { useDocBookExtensions_ = true; }
- static bool preparing() { return (qdocPass_ == Prepare); }
- static bool generating() { return (qdocPass_ == Generate); }
- static bool singleExec() { return qdocSingleExec_; }
- static bool dualExec() { return !qdocSingleExec_; }
- static bool writeQaPages() { return qdocWriteQaPages_; }
- static void setSingleExec() { qdocSingleExec_ = true; }
- static void setWriteQaPages() { qdocWriteQaPages_ = true; }
static QString defaultModuleName() { return project_; }
static void resetUseOutputSubdirs() { useOutputSubdirs_ = false; }
static bool useOutputSubdirs() { return useOutputSubdirs_; }
@@ -97,8 +86,6 @@ public:
static QmlTypeNode *qmlTypeContext() { return qmlTypeContext_; }
static QString cleanRef(const QString &ref);
static QString plainCode(const QString &markedCode);
- static bool useTimestamps() { return useTimestamps_; }
- static bool useDocBookExtensions() { return useDocBookExtensions_; }
protected:
static QFile *openSubPageFile(const Node *node, const QString &fileName);
@@ -220,12 +207,8 @@ private:
static bool noLinkErrors_;
static bool autolinkErrors_;
static bool redirectDocumentationToDevNull_;
- static QDocPass qdocPass_;
static bool qdocSingleExec_;
- static bool qdocWriteQaPages_;
static bool useOutputSubdirs_;
- static bool useTimestamps_;
- static bool useDocBookExtensions_;
static QmlTypeNode *qmlTypeContext_;
void generateReimplementsClause(const FunctionNode *fn, CodeMarker *marker);
diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp
index 8bd009f5f..e7f4dc1cb 100644
--- a/src/qdoc/htmlgenerator.cpp
+++ b/src/qdoc/htmlgenerator.cpp
@@ -285,19 +285,19 @@ void HtmlGenerator::generateDocs()
Node *qflags = qdb_->findClassNode(QStringList("QFlags"));
if (qflags)
qflagsHref_ = linkForNode(qflags, nullptr);
- if (!preparing())
+ if (!config->preparing())
Generator::generateDocs();
- if (Generator::generating() && Generator::writeQaPages())
+ if (config->generating() && config->getBool(CONFIG_WRITEQAPAGES))
generateQAPage();
- if (!generating()) {
+ if (!config->generating()) {
QString fileBase =
project.toLower().simplified().replace(QLatin1Char(' '), QLatin1Char('-'));
qdb_->generateIndex(outputDir() + QLatin1Char('/') + fileBase + ".index", projectUrl,
projectDescription, this);
}
- if (!preparing()) {
+ if (!config->preparing()) {
helpProjectWriter->generate();
generateManifestFiles();
/*
@@ -502,7 +502,8 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
if (link.isEmpty()) {
out() << protectEnc(atom->string());
} else {
- if (Generator::writeQaPages() && node && (atom->type() != Atom::NavAutoLink)) {
+ if (config->getBool(CONFIG_WRITEQAPAGES)
+ && node && (atom->type() != Atom::NavAutoLink)) {
QString text = atom->string();
QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text);
out() << "<a id=\"" << Doc::canonicalTitle(target)
@@ -846,13 +847,13 @@ int HtmlGenerator::generateAtom(const Atom *atom, const Node *relative, CodeMark
QString link = getLink(atom, relative, &node);
if (link.isEmpty() && (node != relative) && !noLinkErrors()) {
relative->doc().location().warning(tr("Can't link to '%1'").arg(atom->string()));
- if (Generator::writeQaPages() && (atom->type() != Atom::NavAutoLink)) {
+ if (config->getBool(CONFIG_WRITEQAPAGES) && (atom->type() != Atom::NavAutoLink)) {
QString text = atom->next()->next()->string();
QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text, true);
out() << "<a id=\"" << Doc::canonicalTitle(target) << "\" class=\"qa-mark\"></a>";
}
} else {
- if (Generator::writeQaPages() && node && (atom->type() != Atom::NavLink)) {
+ if (config->getBool(CONFIG_WRITEQAPAGES) && node && (atom->type() != Atom::NavLink)) {
QString text = atom->next()->next()->string();
QString target = qdb_->getNewLinkTarget(relative, node, outFileName(), text);
out() << "<a id=\"" << Doc::canonicalTitle(target) << "\" class=\"qa-mark\"></a>";
diff --git a/src/qdoc/location.cpp b/src/qdoc/location.cpp
index 7178c0f85..a63b1780e 100644
--- a/src/qdoc/location.cpp
+++ b/src/qdoc/location.cpp
@@ -48,7 +48,6 @@ int Location::warningLimit = -1;
QString Location::programName;
QString Location::project;
QRegExp *Location::spuriousRegExp = nullptr;
-bool Location::logProgress_ = false;
/*!
\class Location
@@ -256,7 +255,8 @@ QString Location::canonicalRelativePath(const QString &path)
*/
void Location::warning(const QString &message, const QString &details) const
{
- if (!Generator::preparing() || Generator::singleExec())
+ const auto &config = Config::instance();
+ if (!config.preparing() || config.singleExec())
emitMessage(Warning, message, details);
}
@@ -267,7 +267,8 @@ void Location::warning(const QString &message, const QString &details) const
*/
void Location::error(const QString &message, const QString &details) const
{
- if (!Generator::preparing() || Generator::singleExec())
+ const auto &config = Config::instance();
+ if (!config.preparing() || config.singleExec())
emitMessage(Error, message, details);
}
diff --git a/src/qdoc/location.h b/src/qdoc/location.h
index 818984b63..68ab28845 100644
--- a/src/qdoc/location.h
+++ b/src/qdoc/location.h
@@ -84,8 +84,6 @@ public:
static void terminate();
static void information(const QString &message);
static void internalError(const QString &hint);
- static void startLoggingProgress() { logProgress_ = true; }
- static void stopLoggingProgress() { logProgress_ = false; }
static QString canonicalRelativePath(const QString &path);
static int exitCode();
@@ -117,7 +115,6 @@ private:
static QString programName;
static QString project;
static QRegExp *spuriousRegExp;
- static bool logProgress_;
};
Q_DECLARE_TYPEINFO(Location::StackEntry, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(Location, Q_COMPLEX_TYPE); // stkTop = &stkBottom
diff --git a/src/qdoc/main.cpp b/src/qdoc/main.cpp
index 1105fcf43..96e93c015 100644
--- a/src/qdoc/main.cpp
+++ b/src/qdoc/main.cpp
@@ -237,9 +237,9 @@ void logStartEndMessage(const QLatin1String &startStop, const Config &config)
const QString runName = " qdoc for "
+ config.getString(CONFIG_PROJECT)
+ QLatin1String(" in ")
- + QLatin1String(Generator::singleExec() ? "single" : "dual")
+ + QLatin1String(config.singleExec() ? "single" : "dual")
+ QLatin1String(" process mode, (")
- + QLatin1String(Generator::preparing() ? "prepare" : "generate")
+ + QLatin1String(config.preparing() ? "prepare" : "generate")
+ QLatin1String(" phase)");
const QString msg = startStop + runName;
@@ -358,14 +358,14 @@ static void processQdocconfFile(const QString &fileName)
Location outputFormatsLocation = config.lastLocation();
qdb->clearSearchOrder();
- if (!Generator::singleExec()) {
- if (!Generator::preparing()) {
+ if (!config.singleExec()) {
+ if (!config.preparing()) {
qCDebug(lcQdoc, " loading index files");
loadIndexFiles(outputFormats);
qCDebug(lcQdoc, " done loading index files");
}
qdb->newPrimaryTree(project);
- } else if (Generator::preparing())
+ } else if (config.preparing())
qdb->newPrimaryTree(project);
else
qdb->setPrimaryTree(project);
@@ -409,7 +409,7 @@ static void processQdocconfFile(const QString &fileName)
}
Generator::augmentImageDirs(exampleImageDirs);
- if (Generator::dualExec() || Generator::preparing()) {
+ if (config.dualExec() || config.preparing()) {
QStringList headerList;
QStringList sourceList;
@@ -585,14 +585,14 @@ int main(int argc, char **argv)
if (config.singleExec())
qdocFiles = Config::loadMaster(qdocFiles.at(0));
- if (Generator::singleExec()) {
+ if (config.singleExec()) {
// single qdoc process for prepare and generate phases
- Generator::setQDocPass(Generator::Prepare);
+ config.setQDocPass(Config::Prepare);
for (const auto &file : qAsConst(qdocFiles)) {
config.dependModules().clear();
processQdocconfFile(file);
}
- Generator::setQDocPass(Generator::Generate);
+ config.setQDocPass(Config::Generate);
QDocDatabase::qdocDB()->processForest();
for (const auto &file : qAsConst(qdocFiles)) {
config.dependModules().clear();
diff --git a/src/qdoc/qdocdatabase.cpp b/src/qdoc/qdocdatabase.cpp
index 2297c237d..966fb8aaa 100644
--- a/src/qdoc/qdocdatabase.cpp
+++ b/src/qdoc/qdocdatabase.cpp
@@ -1102,7 +1102,8 @@ const NodeMap &QDocDatabase::getSinceMap(const QString &key)
*/
void QDocDatabase::resolveStuff()
{
- if (Generator::dualExec() || Generator::preparing()) {
+ const auto &config = Config::instance();
+ if (config.dualExec() || config.preparing()) {
// order matters
primaryTree()->resolveBaseClasses(primaryTreeRoot());
primaryTree()->resolvePropertyOverriddenFromPtrs(primaryTreeRoot());
@@ -1116,19 +1117,19 @@ void QDocDatabase::resolveStuff()
primaryTree()->resolveCppToQmlLinks();
primaryTree()->resolveUsingClauses();
}
- if (Generator::singleExec() && Generator::generating()) {
+ if (config.singleExec() && config.generating()) {
primaryTree()->resolveBaseClasses(primaryTreeRoot());
primaryTree()->resolvePropertyOverriddenFromPtrs(primaryTreeRoot());
primaryTreeRoot()->resolveQmlInheritance();
primaryTree()->resolveCppToQmlLinks();
primaryTree()->resolveUsingClauses();
}
- if (Generator::generating()) {
+ if (config.generating()) {
resolveNamespaces();
resolveProxies();
resolveBaseClasses();
}
- if (Generator::dualExec())
+ if (config.dualExec())
QDocIndexFiles::destroyQDocIndexFiles();
}
diff --git a/src/qdoc/tree.cpp b/src/qdoc/tree.cpp
index 2cc36736f..f6477b6b1 100644
--- a/src/qdoc/tree.cpp
+++ b/src/qdoc/tree.cpp
@@ -78,9 +78,9 @@ Tree::Tree(const QString &camelCaseModuleName, QDocDatabase *qdb)
{
root_.setPhysicalModuleName(physicalModuleName_);
root_.setTree(this);
- if (Generator::writeQaPages()) {
+ const auto &config = Config::instance();
+ if (config.getBool(CONFIG_WRITEQAPAGES))
targetListMap_ = new TargetListMap;
- }
}
/*!
@@ -104,7 +104,8 @@ Tree::~Tree()
}
nodesByTargetRef_.clear();
nodesByTargetTitle_.clear();
- if (Generator::writeQaPages() && targetListMap_) {
+ const auto &config = Config::instance();
+ if (config.getBool(CONFIG_WRITEQAPAGES) && targetListMap_) {
for (auto target = targetListMap_->begin(); target != targetListMap_->end(); ++target) {
TargetList *tlist = target.value();
if (tlist) {