diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 7fd4e8322..106a338f4 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -1150,6 +1150,20 @@ void SymbolDatabase::SpaceInfo::getVarList() typetok = vartok->previous(); tok = vartok->next(); } + else if (Token::Match(tok, "%type% :: %type% :: %type% :: %type% %var% ;")) + { + isClass = true; + vartok = tok->tokAt(7); + typetok = vartok->previous(); + tok = vartok->next(); + } + else if (Token::Match(tok, ":: %type% :: %type% :: %type% :: %type% %var% ;")) + { + isClass = true; + vartok = tok->tokAt(8); + typetok = vartok->previous(); + tok = vartok->next(); + } // Structure? else if (Token::Match(tok, "struct|union %type% %var% ;")) diff --git a/test/testclass.cpp b/test/testclass.cpp index a2182f740..e0c20c0a0 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -4813,7 +4813,7 @@ private: " a = b;\n" "}\n"); - TODO_ASSERT_EQUALS("", errout.str()); + ASSERT_EQUALS("", errout.str()); checkConst("namespace AA\n" "{\n" @@ -4837,7 +4837,7 @@ private: " }\n" "};\n"); - TODO_ASSERT_EQUALS("", errout.str()); + ASSERT_EQUALS("", errout.str()); checkConst("namespace ZZ\n" "{\n" @@ -5360,6 +5360,7 @@ private: ASSERT_EQUALS("", errout.str()); } + }; REGISTER_TEST(TestClass)