Skip to content

Commit 7e600c3

Browse files
Update checkclass.cpp
1 parent cb76e52 commit 7e600c3

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

lib/checkclass.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,13 +1084,11 @@ void CheckClass::initializeVarList(const Function &func, std::list<const Functio
10841084
}
10851085

10861086
// Assignment of array item of member variable?
1087-
else if (Token::Match(ftok, "* %name% =")) {
1087+
else if (Token::Match(ftok, "* %name% =") && (!func.isConstructor() || (!ftok->next()->variable() || ftok->next()->variable()->isArray()))) {
10881088
assignVar(usage, ftok->next()->varId());
1089-
} else if (Token::Match(ftok, "( * %name% ) =")) {
1089+
} else if (Token::Match(ftok, "( * %name% ) =") && (!func.isConstructor() || (!ftok->tokAt(2)->variable() || ftok->tokAt(2)->variable()->isArray()))) {
10901090
assignVar(usage, ftok->tokAt(2)->varId());
1091-
} else if (Token::Match(ftok, "* ( %name% ) =")) {
1092-
assignVar(usage, ftok->tokAt(2)->varId());
1093-
} else if (Token::Match(ftok, "* this . %name% =")) {
1091+
} else if (Token::Match(ftok, "* this . %name% =") && (!func.isConstructor() || (!ftok->tokAt(3)->variable() || ftok->tokAt(3)->variable()->isArray()))) {
10941092
assignVar(usage, ftok->tokAt(3)->varId());
10951093
} else if (astIsRangeBasedForDecl(ftok)) {
10961094
if (const Variable* rangeVar = ftok->astParent()->astOperand1()->variable()) {

0 commit comments

Comments
 (0)