avoid boolean argument trap: introduce QMakeParser::ParseFlag
Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/066b08fc62c67d586996ea4e272ef05dd3865fac) (cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
This commit is contained in:
parent
725bdc3fd2
commit
0a1faaa9eb
@ -1819,7 +1819,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();
|
||||
|
@ -152,10 +152,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);
|
||||
|
@ -87,11 +87,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);
|
||||
|
||||
@ -184,6 +190,8 @@ private:
|
||||
friend class ProFileCache;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(QMakeParser::ParseFlags)
|
||||
|
||||
class QMAKE_EXPORT ProFileCache
|
||||
{
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user