Skip to content

Commit 0220dbe

Browse files
Update checkclass.cpp
1 parent d8c7a85 commit 0220dbe

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

lib/checkclass.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2594,20 +2594,20 @@ bool CheckClass::checkConstFunc(const Scope *scope, const Function *func, Member
25942594

25952595
auto isConstContainerUsage = [&](const ValueType* vt) -> bool {
25962596
if (!vt || !vt->container)
2597-
return false;
2597+
return false;
25982598
const auto yield = vt->container->getYield(end->str());
2599-
if (contains({Library::Container::Yield::START_ITERATOR, Library::Container::Yield::END_ITERATOR, Library::Container::Yield::ITERATOR}, yield)) {
2600-
const Token* parent = tok1->astParent();
2599+
const Token* parent = tok1->astParent();
26012600
while (Token::Match(parent, "(|.|::"))
26022601
parent = parent->astParent();
2602+
if (contains({Library::Container::Yield::START_ITERATOR, Library::Container::Yield::END_ITERATOR, Library::Container::Yield::ITERATOR}, yield)) {
26032603
if (parent && parent->isComparisonOp())
26042604
return true;
26052605
// TODO: use AST
26062606
if (parent && parent->isAssignmentOp() && tok1->tokAt(-2)->variable() && Token::Match(tok1->tokAt(-2)->variable()->typeEndToken(), "const_iterator|const_reverse_iterator"))
26072607
return true;
26082608
}
26092609
if ((yield == Library::Container::Yield::ITEM || yield == Library::Container::Yield::AT_INDEX) &&
2610-
(lhs->isComparisonOp() || lhs->isAssignmentOp() || (lhs->str() == "(" && Token::Match(lhs->astParent(), "%cop%"))))
2610+
((parent && parent->isComparisonOp()) || lhs->isAssignmentOp()))
26112611
return true; // assume that these functions have const overloads
26122612
return false;
26132613
};

0 commit comments

Comments
 (0)