forked from qt-creator/qt-creator
avoid boolean argument trap: introduce QMakeParser::ParseFlag
Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtbase/0a1faaa9eb7807bf11d796c2eca624e2f3b378a7)
This commit is contained in:
@@ -1804,7 +1804,7 @@ ProString QMakeEvaluator::first(const ProKey &variableName) const
|
||||
QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateFile(
|
||||
const QString &fileName, QMakeHandler::EvalFileType type, LoadFlags flags)
|
||||
{
|
||||
if (ProFile *pro = m_parser->parsedProFile(fileName, true)) {
|
||||
if (ProFile *pro = m_parser->parsedProFile(fileName, QMakeParser::ParseUseCache)) {
|
||||
m_locationStack.push(m_current);
|
||||
VisitReturn ok = visitProFile(pro, type, flags);
|
||||
m_current = m_locationStack.pop();
|
||||
|
@@ -140,10 +140,10 @@ QMakeParser::QMakeParser(ProFileCache *cache, QMakeVfs *vfs, QMakeParserHandler
|
||||
initialize();
|
||||
}
|
||||
|
||||
ProFile *QMakeParser::parsedProFile(const QString &fileName, bool cache)
|
||||
ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
|
||||
{
|
||||
ProFile *pro;
|
||||
if (cache && m_cache) {
|
||||
if ((flags & ParseUseCache) && m_cache) {
|
||||
ProFileCache::Entry *ent;
|
||||
#ifdef PROPARSER_THREAD_SAFE
|
||||
QMutexLocker locker(&m_cache->mutex);
|
||||
|
@@ -75,11 +75,17 @@ public:
|
||||
// Call this from a concurrency-free context
|
||||
static void initialize();
|
||||
|
||||
enum ParseFlag {
|
||||
ParseDefault = 0,
|
||||
ParseUseCache = 1
|
||||
};
|
||||
Q_DECLARE_FLAGS(ParseFlags, ParseFlag)
|
||||
|
||||
QMakeParser(ProFileCache *cache, QMakeVfs *vfs, QMakeParserHandler *handler);
|
||||
|
||||
enum SubGrammar { FullGrammar, TestGrammar, ValueGrammar };
|
||||
// fileName is expected to be absolute and cleanPath()ed.
|
||||
ProFile *parsedProFile(const QString &fileName, bool cache = false);
|
||||
ProFile *parsedProFile(const QString &fileName, ParseFlags flags = ParseDefault);
|
||||
ProFile *parsedProBlock(const QString &contents, const QString &name, int line = 0,
|
||||
SubGrammar grammar = FullGrammar);
|
||||
|
||||
@@ -172,6 +178,8 @@ private:
|
||||
friend class ProFileCache;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(QMakeParser::ParseFlags)
|
||||
|
||||
class QMAKE_EXPORT ProFileCache
|
||||
{
|
||||
public:
|
||||
|
Reference in New Issue
Block a user