forked from qt-creator/qt-creator
CPlusPlus: Remove foreach / Q_FOREACH usage
Task-number: QTCREATORBUG-27464 Change-Id: Idbcedd9f9a2e148cb18e53c9dc0b82b52b372d64 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -48,7 +48,7 @@ public:
|
||||
return true;
|
||||
|
||||
SafeMatcher matcher;
|
||||
foreach (const T *existingItem, _container) {
|
||||
for (const T *existingItem : qAsConst(_container)) {
|
||||
if (Matcher::match(existingItem, item, &matcher))
|
||||
return true;
|
||||
}
|
||||
|
@@ -356,7 +356,7 @@ QString Document::fileName() const
|
||||
QStringList Document::includedFiles() const
|
||||
{
|
||||
QStringList files;
|
||||
foreach (const Include &i, _resolvedIncludes)
|
||||
for (const Include &i : qAsConst(_resolvedIncludes))
|
||||
files.append(i.resolvedFileName());
|
||||
files.removeDuplicates();
|
||||
return files;
|
||||
@@ -387,7 +387,7 @@ void Document::addMacroUse(const Macro ¯o,
|
||||
utf16charsOffset, utf16charsOffset + utf16charLength,
|
||||
beginLine);
|
||||
|
||||
foreach (const MacroArgumentReference &actual, actuals) {
|
||||
for (const MacroArgumentReference &actual : actuals) {
|
||||
const Block arg(actual.bytesOffset(),
|
||||
actual.bytesOffset() + actual.bytesLength(),
|
||||
actual.utf16charsOffset(),
|
||||
@@ -555,7 +555,7 @@ Symbol *Document::lastVisibleSymbolAt(int line, int column) const
|
||||
|
||||
const Macro *Document::findMacroDefinitionAt(int line) const
|
||||
{
|
||||
foreach (const Macro ¯o, _definedMacros) {
|
||||
for (const Macro ¯o : qAsConst(_definedMacros)) {
|
||||
if (macro.line() == line)
|
||||
return ¯o;
|
||||
}
|
||||
@@ -564,7 +564,7 @@ const Macro *Document::findMacroDefinitionAt(int line) const
|
||||
|
||||
const Document::MacroUse *Document::findMacroUseAt(int utf16charsOffset) const
|
||||
{
|
||||
foreach (const Document::MacroUse &use, _macroUses) {
|
||||
for (const Document::MacroUse &use : qAsConst(_macroUses)) {
|
||||
if (use.containsUtf16charOffset(utf16charsOffset)
|
||||
&& (utf16charsOffset < use.utf16charsBegin() + use.macro().nameToQString().size())) {
|
||||
return &use;
|
||||
@@ -575,7 +575,7 @@ const Document::MacroUse *Document::findMacroUseAt(int utf16charsOffset) const
|
||||
|
||||
const Document::UndefinedMacroUse *Document::findUndefinedMacroUseAt(int utf16charsOffset) const
|
||||
{
|
||||
foreach (const Document::UndefinedMacroUse &use, _undefinedMacroUses) {
|
||||
for (const Document::UndefinedMacroUse &use : qAsConst(_undefinedMacroUses)) {
|
||||
if (use.containsUtf16charOffset(utf16charsOffset)
|
||||
&& (utf16charsOffset < use.utf16charsBegin()
|
||||
+ QString::fromUtf8(use.name(), use.name().size()).length()))
|
||||
@@ -776,7 +776,7 @@ static QList<Macro> macrosDefinedUntilLine(const QList<Macro> ¯os, int line)
|
||||
{
|
||||
QList<Macro> filtered;
|
||||
|
||||
foreach (const Macro ¯o, macros) {
|
||||
for (const Macro ¯o : macros) {
|
||||
if (macro.line() <= line)
|
||||
filtered.append(macro);
|
||||
else
|
||||
@@ -859,7 +859,8 @@ QList<Snapshot::IncludeLocation> Snapshot::includeLocationsOfDocument(const QStr
|
||||
QList<IncludeLocation> result;
|
||||
for (const_iterator cit = begin(), citEnd = end(); cit != citEnd; ++cit) {
|
||||
const Document::Ptr doc = cit.value();
|
||||
foreach (const Document::Include &includeFile, doc->resolvedIncludes()) {
|
||||
const QList<Document::Include> includeFiles = doc->resolvedIncludes();
|
||||
for (const Document::Include &includeFile : includeFiles) {
|
||||
if (includeFile.resolvedFileName() == fileName)
|
||||
result.append(qMakePair(doc, includeFile.line()));
|
||||
}
|
||||
@@ -901,7 +902,8 @@ Snapshot Snapshot::simplified(Document::Ptr doc) const
|
||||
|
||||
if (doc) {
|
||||
snapshot.insert(doc);
|
||||
foreach (const QString &fileName, allIncludesForDocument(doc->fileName()))
|
||||
const QSet<QString> fileNames = allIncludesForDocument(doc->fileName());
|
||||
for (const QString &fileName : fileNames)
|
||||
if (Document::Ptr inc = document(fileName))
|
||||
snapshot.insert(inc);
|
||||
}
|
||||
|
@@ -79,7 +79,7 @@ void DependencyTable::build(QFutureInterfaceBase &futureInterface, const Snapsho
|
||||
QList<int> directIncludes;
|
||||
const QStringList documentIncludes = doc->includedFiles();
|
||||
|
||||
foreach (const QString &includedFile, documentIncludes) {
|
||||
for (const QString &includedFile : documentIncludes) {
|
||||
int index = fileIndex.value(Utils::FilePath::fromString(includedFile));
|
||||
|
||||
if (index == -1)
|
||||
@@ -108,7 +108,8 @@ void DependencyTable::build(QFutureInterfaceBase &futureInterface, const Snapsho
|
||||
QBitArray bitmap = includeMap.value(i);
|
||||
QBitArray previousBitmap = bitmap;
|
||||
|
||||
foreach (int includedFileIndex, includes.value(i)) {
|
||||
const QList<int> includedFileIndexes = includes.value(i);
|
||||
for (const int includedFileIndex : includedFileIndexes) {
|
||||
bitmap |= includeMap.value(includedFileIndex);
|
||||
if (futureInterface.isCanceled())
|
||||
return;
|
||||
|
@@ -57,7 +57,8 @@ QByteArray FastPreprocessor::run(Document::Ptr newDoc,
|
||||
mergeEnvironment(i.key().toString());
|
||||
}
|
||||
|
||||
foreach (const Document::Include &i, doc->resolvedIncludes())
|
||||
const QList<Document::Include> includes = doc->resolvedIncludes();
|
||||
for (const Document::Include &i : includes)
|
||||
mergeEnvironment(i.resolvedFileName());
|
||||
|
||||
if (mergeDefinedMacrosOfDocument)
|
||||
@@ -89,7 +90,8 @@ void FastPreprocessor::mergeEnvironment(const QString &fileName)
|
||||
_merged.insert(fileName);
|
||||
|
||||
if (Document::Ptr doc = _snapshot.document(fileName)) {
|
||||
foreach (const Document::Include &i, doc->resolvedIncludes())
|
||||
const QList<Document::Include> includes = doc->resolvedIncludes();
|
||||
for (const Document::Include &i : includes)
|
||||
mergeEnvironment(i.resolvedFileName());
|
||||
|
||||
_env.addMacros(doc->definedMacros());
|
||||
|
@@ -839,7 +839,8 @@ void FindUsages::memInitializer(MemInitializerAST *ast)
|
||||
Class *classScope = _currentScope->enclosingClass();
|
||||
if (! classScope) {
|
||||
if (ClassOrNamespace *binding = _context.lookupType(_currentScope)) {
|
||||
foreach (Symbol *s, binding->symbols()) {
|
||||
const QList<Symbol *> symbols = binding->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (Class *k = s->asClass()) {
|
||||
classScope = k;
|
||||
break;
|
||||
|
@@ -317,7 +317,8 @@ QList<LookupItem> LookupContext::lookupByUsing(const Name *name,
|
||||
QList<LookupItem> candidates;
|
||||
// if it is a nameId there can be a using declaration for it
|
||||
if (name->isNameId() || name->isTemplateNameId()) {
|
||||
foreach (Symbol *s, bindingScope->symbols()) {
|
||||
const QList<Symbol *> symbols = bindingScope->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (Scope *scope = s->asScope()) {
|
||||
for (int i = 0, count = scope->memberCount(); i < count; ++i) {
|
||||
if (UsingDeclaration *u = scope->memberAt(i)->asUsingDeclaration()) {
|
||||
@@ -344,7 +345,8 @@ QList<LookupItem> LookupContext::lookupByUsing(const Name *name,
|
||||
}
|
||||
}
|
||||
} else if (const QualifiedNameId *q = name->asQualifiedNameId()) {
|
||||
foreach (Symbol *s, bindingScope->symbols()) {
|
||||
const QList<Symbol *> symbols = bindingScope->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (Scope *scope = s->asScope()) {
|
||||
ClassOrNamespace *base = lookupType(q->base(), scope);
|
||||
if (base)
|
||||
@@ -584,9 +586,9 @@ QList<LookupItem> LookupContext::lookup(const Name *name, Scope *scope) const
|
||||
|
||||
ClassOrNamespace *LookupContext::lookupParent(Symbol *symbol) const
|
||||
{
|
||||
QList<const Name *> fqName = path(symbol);
|
||||
const QList<const Name *> fqName = path(symbol);
|
||||
ClassOrNamespace *binding = globalNamespace();
|
||||
foreach (const Name *name, fqName) {
|
||||
for (const Name *name : fqName) {
|
||||
binding = binding->findType(name);
|
||||
if (!binding)
|
||||
return nullptr;
|
||||
@@ -734,7 +736,8 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding
|
||||
|
||||
const Identifier *nameId = name->identifier();
|
||||
|
||||
foreach (Symbol *s, binding->symbols()) {
|
||||
const QList<Symbol *> symbols = binding->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (s->isFriend())
|
||||
continue;
|
||||
else if (s->isUsingNamespaceDirective())
|
||||
@@ -756,10 +759,12 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Enum *e, binding->unscopedEnums())
|
||||
const QList<Enum *> enums = binding->unscopedEnums();
|
||||
for (Enum *e : enums)
|
||||
_factory->lookupInScope(name, e, result, templateId, binding);
|
||||
|
||||
foreach (ClassOrNamespace *u, binding->usings())
|
||||
const QList<ClassOrNamespace *> usings = binding->usings();
|
||||
for (ClassOrNamespace *u : usings)
|
||||
lookup_helper(name, u, result, processed, binding->_templateId);
|
||||
|
||||
Anonymouses::const_iterator cit = binding->_anonymouses.constBegin();
|
||||
@@ -989,13 +994,15 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name,
|
||||
if (name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) {
|
||||
flush();
|
||||
|
||||
foreach (Symbol *s, symbols()) {
|
||||
const QList<Symbol *> symbolList = symbols();
|
||||
for (Symbol *s : symbolList) {
|
||||
if (Class *klass = s->asClass()) {
|
||||
if (klass->identifier() && klass->identifier()->match(name->identifier()))
|
||||
return this;
|
||||
}
|
||||
}
|
||||
foreach (Enum *e, unscopedEnums()) {
|
||||
const QList<Enum *> enums = unscopedEnums();
|
||||
for (Enum *e : enums) {
|
||||
if (e->identifier() && e->identifier()->match(name->identifier()))
|
||||
return this;
|
||||
}
|
||||
@@ -1018,7 +1025,8 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name,
|
||||
}
|
||||
}
|
||||
|
||||
foreach (ClassOrNamespace *u, usings()) {
|
||||
const QList<ClassOrNamespace *> usingList = usings();
|
||||
for (ClassOrNamespace *u : usingList) {
|
||||
if (ClassOrNamespace *r = u->lookupType_helper(name,
|
||||
processed,
|
||||
/*searchInEnclosingScope =*/ false,
|
||||
@@ -1037,7 +1045,8 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name,
|
||||
static ClassOrNamespace *findSpecializationWithMatchingTemplateArgument(const Name *argumentName,
|
||||
ClassOrNamespace *reference)
|
||||
{
|
||||
foreach (Symbol *s, reference->symbols()) {
|
||||
const QList<Symbol *> symbols = reference->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (Class *clazz = s->asClass()) {
|
||||
if (Template *templateSpecialization = clazz->enclosingTemplate()) {
|
||||
const int argumentCountOfSpecialization
|
||||
@@ -1224,7 +1233,8 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
|
||||
Class *referenceClass = nullptr;
|
||||
QList<const Name *> allBases;
|
||||
foreach (Symbol *s, reference->symbols()) {
|
||||
const QList<Symbol *> symbols = reference->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
if (Class *clazz = s->asClass()) {
|
||||
for (int i = 0; i < clazz->baseClassCount(); ++i) {
|
||||
BaseClass *baseClass = clazz->baseClassAt(i);
|
||||
@@ -1338,7 +1348,8 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
subst.bind(cloner.name(name, &subst), ty);
|
||||
}
|
||||
|
||||
foreach (Symbol *s, reference->symbols()) {
|
||||
const QList<Symbol *> symbols = reference->symbols();
|
||||
for (Symbol *s : symbols) {
|
||||
Symbol *clone = cloner.symbol(s, &subst);
|
||||
clone->setEnclosingScope(s->enclosingScope());
|
||||
instantiation->_symbols.append(clone);
|
||||
@@ -1369,7 +1380,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
for (int i = 0; i < argumentCountOfSpecialization; ++i)
|
||||
templParams.insert(templateSpecialization->templateParameterAt(i)->name(), i);
|
||||
|
||||
foreach (const Name *baseName, allBases) {
|
||||
for (const Name *baseName : qAsConst(allBases)) {
|
||||
ClassOrNamespace *baseBinding = nullptr;
|
||||
|
||||
if (const Identifier *nameId = baseName->asNameId()) {
|
||||
@@ -1447,7 +1458,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
|
||||
// Find the missing bases for regular (non-template) types.
|
||||
// Ex.: class A : public B<Some>::Type {};
|
||||
foreach (const Name *baseName, allBases) {
|
||||
for (const Name *baseName : qAsConst(allBases)) {
|
||||
ClassOrNamespace *binding = this;
|
||||
if (const QualifiedNameId *qBaseName = baseName->asQualifiedNameId()) {
|
||||
if (const Name *qualification = qBaseName->base())
|
||||
@@ -1504,7 +1515,8 @@ void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *en
|
||||
nestedClassOrNamespaceInstantiation->_usings.append(nestedClassOrNamespace->usings());
|
||||
nestedClassOrNamespaceInstantiation->_instantiationOrigin = nestedClassOrNamespace;
|
||||
|
||||
foreach (Symbol *s, nestedClassOrNamespace->_symbols) {
|
||||
const QList<Symbol *> symbols = nestedClassOrNamespace->_symbols;
|
||||
for (Symbol *s : symbols) {
|
||||
Symbol *clone = _cloner.symbol(s, &_subst);
|
||||
if (!clone->enclosingScope()) // Not from the cache but just cloned.
|
||||
clone->setEnclosingScope(s->enclosingScope());
|
||||
@@ -1526,7 +1538,7 @@ void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *en
|
||||
|
||||
bool ClassOrNamespace::NestedClassInstantiator::isInstantiateNestedClassNeeded(const QList<Symbol *> &symbols) const
|
||||
{
|
||||
foreach (Symbol *s, symbols) {
|
||||
for (Symbol *s : symbols) {
|
||||
if (Class *klass = s->asClass()) {
|
||||
int memberCount = klass->memberCount();
|
||||
for (int i = 0; i < memberCount; ++i) {
|
||||
@@ -1578,7 +1590,7 @@ void ClassOrNamespace::flush()
|
||||
const QList<Symbol *> todo = _todo;
|
||||
_todo.clear();
|
||||
|
||||
foreach (Symbol *member, todo)
|
||||
for (Symbol *member : todo)
|
||||
_factory->process(member, this);
|
||||
}
|
||||
}
|
||||
@@ -1722,7 +1734,8 @@ void CreateBindings::process(Document::Ptr doc)
|
||||
if (! _processed.contains(globalNamespace)) {
|
||||
_processed.insert(globalNamespace);
|
||||
|
||||
foreach (const Document::Include &i, doc->resolvedIncludes()) {
|
||||
const QList<Document::Include> includes = doc->resolvedIncludes();
|
||||
for (const Document::Include &i : includes) {
|
||||
if (Document::Ptr incl = _snapshot.document(i.resolvedFileName()))
|
||||
process(incl);
|
||||
}
|
||||
|
@@ -69,7 +69,7 @@ QString Macro::decoratedName() const
|
||||
if (f._functionLike) {
|
||||
text += QLatin1Char('(');
|
||||
bool first = true;
|
||||
foreach (const QByteArray &formal, _formals) {
|
||||
for (const QByteArray &formal : qAsConst(_formals)) {
|
||||
if (! first)
|
||||
text += QLatin1String(", ");
|
||||
else
|
||||
|
@@ -543,7 +543,7 @@ QString MatchingText::insertMatchingBrace(const QTextCursor &cursor, const QStri
|
||||
}
|
||||
|
||||
QString result;
|
||||
foreach (const QChar &ch, text) {
|
||||
for (const QChar &ch : qAsConst(text)) {
|
||||
if (ch == QLatin1Char('(')) result += QLatin1Char(')');
|
||||
else if (ch == QLatin1Char('[')) result += QLatin1Char(']');
|
||||
else if (ch == QLatin1Char('{')) result += QLatin1Char('}');
|
||||
|
@@ -128,7 +128,7 @@ Macro *Environment::bind(const Macro ¯o)
|
||||
|
||||
void Environment::addMacros(const QList<Macro> ¯os)
|
||||
{
|
||||
foreach (const Macro ¯o, macros) {
|
||||
for (const Macro ¯o : macros) {
|
||||
bind(macro);
|
||||
}
|
||||
}
|
||||
|
@@ -59,7 +59,7 @@ static QList<T> removeDuplicates(const QList<T> &results)
|
||||
{
|
||||
QList<T> uniqueList;
|
||||
QSet<T> processed;
|
||||
foreach (const T &r, results) {
|
||||
for (const T &r : results) {
|
||||
if (processed.contains(r))
|
||||
continue;
|
||||
|
||||
@@ -160,7 +160,7 @@ private:
|
||||
Scope **scope, QSet<Symbol *>& visited)
|
||||
{
|
||||
bool foundTypedef = false;
|
||||
foreach (const LookupItem &it, namedTypeItems) {
|
||||
for (const LookupItem &it : namedTypeItems) {
|
||||
Symbol *declaration = it.declaration();
|
||||
if (declaration && declaration->isTypedef()) {
|
||||
if (visited.contains(declaration))
|
||||
@@ -281,7 +281,7 @@ QList<LookupItem> ResolveExpression::switchResults(const QList<LookupItem> &resu
|
||||
|
||||
void ResolveExpression::addResults(const QList<Symbol *> &symbols)
|
||||
{
|
||||
foreach (Symbol *symbol, symbols) {
|
||||
for (Symbol *symbol : symbols) {
|
||||
LookupItem item;
|
||||
item.setType(symbol->type());
|
||||
item.setScope(symbol->enclosingScope());
|
||||
@@ -603,7 +603,8 @@ bool ResolveExpression::visit(UnaryExpressionAST *ast)
|
||||
} else if (namedTy != nullptr) {
|
||||
const Name *starOp = control()->operatorNameId(OperatorNameId::StarOp);
|
||||
if (ClassOrNamespace *b = _context.lookupType(namedTy->name(), p.scope(), p.binding())) {
|
||||
foreach (const LookupItem &r, b->find(starOp)) {
|
||||
const QList<LookupItem> results = b->find(starOp);
|
||||
for (const LookupItem &r : results) {
|
||||
Symbol *overload = r.declaration();
|
||||
if (Function *funTy = overload->type()->asFunctionType()) {
|
||||
if (maybeValidPrototype(funTy, 0)) {
|
||||
@@ -841,7 +842,7 @@ bool ResolveExpression::visit(CallAST *ast)
|
||||
if (_reference) {
|
||||
typedef std::multimap<int, LookupItem> LookupMap;
|
||||
LookupMap sortedResults;
|
||||
foreach (const LookupItem &base, baseResults) {
|
||||
for (const LookupItem &base : baseResults) {
|
||||
if (Function *funTy = base.type()->asFunctionType()) {
|
||||
if (! maybeValidPrototype(funTy, actualArgumentCount))
|
||||
continue;
|
||||
@@ -874,7 +875,7 @@ bool ResolveExpression::visit(CallAST *ast)
|
||||
|
||||
const Name *functionCallOp = control()->operatorNameId(OperatorNameId::FunctionCallOp);
|
||||
|
||||
foreach (const LookupItem &result, baseResults) {
|
||||
for (const LookupItem &result : baseResults) {
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
Scope *scope = result.scope();
|
||||
|
||||
@@ -885,7 +886,8 @@ bool ResolveExpression::visit(CallAST *ast)
|
||||
addResult(ty.simplified(), scope);
|
||||
} else {
|
||||
// operator()
|
||||
foreach (const LookupItem &r, b->find(functionCallOp)) {
|
||||
const QList<LookupItem> results = b->find(functionCallOp);
|
||||
for (const LookupItem &r : results) {
|
||||
Symbol *overload = r.declaration();
|
||||
if (Function *funTy = overload->type()->asFunctionType()) {
|
||||
if (maybeValidPrototype(funTy, actualArgumentCount)) {
|
||||
@@ -931,7 +933,7 @@ bool ResolveExpression::visit(ArrayAccessAST *ast)
|
||||
const QList<LookupItem> baseResults = resolve(ast->base_expression, _scope);
|
||||
const Name *arrayAccessOp = control()->operatorNameId(OperatorNameId::ArrayAccessOp);
|
||||
|
||||
foreach (const LookupItem &result, baseResults) {
|
||||
for (const LookupItem &result : baseResults) {
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
Scope *scope = result.scope();
|
||||
|
||||
@@ -946,7 +948,8 @@ bool ResolveExpression::visit(ArrayAccessAST *ast)
|
||||
|
||||
} else if (NamedType *namedTy = ty->asNamedType()) {
|
||||
if (ClassOrNamespace *b = _context.lookupType(namedTy->name(), scope)) {
|
||||
foreach (const LookupItem &r, b->find(arrayAccessOp)) {
|
||||
const QList<LookupItem> results = b->find(arrayAccessOp);
|
||||
for (const LookupItem &r : results) {
|
||||
Symbol *overload = r.declaration();
|
||||
if (Function *funTy = overload->type()->asFunctionType()) {
|
||||
// ### TODO: check the actual arguments
|
||||
@@ -970,7 +973,7 @@ QList<LookupItem> ResolveExpression::getMembers(ClassOrNamespace *binding, const
|
||||
#if 0
|
||||
const QList<LookupItem> originalMembers = binding->find(memberName);
|
||||
|
||||
foreach (const LookupItem &m, originalMembers) {
|
||||
for (const LookupItem &m, originalMembers) {
|
||||
if (! m.binding() || ! m.binding()->templateId()) {
|
||||
members.append(m);
|
||||
continue;
|
||||
@@ -1067,7 +1070,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
|
||||
Overview oo;
|
||||
TypedefsResolver typedefsResolver(_context);
|
||||
|
||||
foreach (const LookupItem &r, baseResults) {
|
||||
for (const LookupItem &r : baseResults) {
|
||||
if (!r.type().type() || !r.scope())
|
||||
continue;
|
||||
FullySpecifiedType ty = r.type().simplified();
|
||||
@@ -1113,7 +1116,8 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
|
||||
|
||||
const OperatorNameId *arrowOp
|
||||
= control()->operatorNameId(OperatorNameId::ArrowOp);
|
||||
foreach (const LookupItem &r, binding->find(arrowOp)) {
|
||||
const QList<LookupItem> results = binding->find(arrowOp);
|
||||
for (const LookupItem &r : results) {
|
||||
Symbol *overload = r.declaration();
|
||||
if (! overload)
|
||||
continue;
|
||||
@@ -1157,7 +1161,8 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
|
||||
}
|
||||
|
||||
if (ClassOrNamespace *origin = binding->instantiationOrigin()) {
|
||||
foreach (Symbol *originSymbol, origin->symbols()) {
|
||||
const QList<Symbol *> symbols = origin->symbols();
|
||||
for (Symbol *originSymbol : symbols) {
|
||||
Scope *originScope = originSymbol->asScope();
|
||||
if (originScope && originScope != scope
|
||||
&& originScope != functionScope) {
|
||||
@@ -1204,7 +1209,8 @@ ClassOrNamespace *ResolveExpression::findClassForTemplateParameterInExpressionSc
|
||||
{
|
||||
if (resultBinding) {
|
||||
if (ClassOrNamespace *origin = resultBinding->instantiationOrigin()) {
|
||||
foreach (Symbol *originSymbol, origin->symbols()) {
|
||||
const QList<Symbol *> symbols = origin->symbols();
|
||||
for (Symbol *originSymbol : symbols) {
|
||||
if (Scope *originScope = originSymbol->asScope()) {
|
||||
if (ClassOrNamespace *retBinding = findClass(ty, originScope))
|
||||
return retBinding;
|
||||
@@ -1233,7 +1239,7 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)
|
||||
{
|
||||
const QList<LookupItem> receiverResults = resolve(ast->receiver_expression, _scope);
|
||||
|
||||
foreach (const LookupItem &result, receiverResults) {
|
||||
for (const LookupItem &result : receiverResults) {
|
||||
FullySpecifiedType ty = result.type().simplified();
|
||||
ClassOrNamespace *binding = nullptr;
|
||||
|
||||
@@ -1250,7 +1256,8 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)
|
||||
}
|
||||
|
||||
if (binding) {
|
||||
foreach (const LookupItem &r, binding->lookup(ast->selector->name)) {
|
||||
const QList<LookupItem> results = binding->lookup(ast->selector->name);
|
||||
for (const LookupItem &r : results) {
|
||||
Symbol *s = r.declaration();
|
||||
if (ObjCMethod *m = s->asObjCMethod())
|
||||
addResult(m->returnType(), result.scope());
|
||||
|
@@ -45,7 +45,8 @@ void SnapshotSymbolVisitor::accept(Document::Ptr doc, QSet<QString> *processed)
|
||||
if (doc && doc->globalNamespace() && ! processed->contains(doc->fileName())) {
|
||||
processed->insert(doc->fileName());
|
||||
|
||||
foreach (const Document::Include &i, doc->resolvedIncludes()) {
|
||||
const QList<Document::Include> includes = doc->resolvedIncludes();
|
||||
for (const Document::Include &i : includes) {
|
||||
if (Document::Ptr incl = _snapshot.document(i.resolvedFileName()))
|
||||
accept(incl, processed);
|
||||
}
|
||||
|
@@ -157,10 +157,12 @@ void TypeOfExpression::processEnvironment(Document::Ptr doc, Environment *env,
|
||||
if (doc && ! processed->contains(doc->fileName())) {
|
||||
processed->insert(doc->fileName());
|
||||
|
||||
foreach (const Document::Include &incl, doc->resolvedIncludes())
|
||||
const QList<Document::Include> includes = doc->resolvedIncludes();
|
||||
for (const Document::Include &incl : includes)
|
||||
processEnvironment(m_snapshot.document(incl.resolvedFileName()), env, processed);
|
||||
|
||||
foreach (const Macro ¯o, doc->definedMacros())
|
||||
const QList<Macro> macros = doc->definedMacros();
|
||||
for (const Macro ¯o : macros)
|
||||
env->bind(macro);
|
||||
}
|
||||
}
|
||||
|
@@ -1824,7 +1824,8 @@ void Preprocessor::handleDefineDirective(PPToken *tk)
|
||||
if (macro.isFunctionLike()) {
|
||||
macroId += '(';
|
||||
bool fst = true;
|
||||
foreach (const QByteArray &formal, macro.formals()) {
|
||||
const QVector<QByteArray> formals = macro.formals();
|
||||
for (const QByteArray &formal : formals) {
|
||||
if (! fst)
|
||||
macroId += ", ";
|
||||
fst = false;
|
||||
|
Reference in New Issue
Block a user