SymbolDatabase: Do not set constructor flag for function in namespace
This commit is contained in:
parent
82d8f3e7f5
commit
223ceeb97f
|
@ -1892,7 +1892,7 @@ Function::Function(const Tokenizer *mTokenizer,
|
||||||
}
|
}
|
||||||
|
|
||||||
// class constructor/destructor
|
// class constructor/destructor
|
||||||
else if (tokenDef->str() == scope->className) {
|
else if (tokenDef->str() == scope->className && scope->type != Scope::ScopeType::eNamespace) {
|
||||||
// destructor
|
// destructor
|
||||||
if (tokenDef->previous()->str() == "~")
|
if (tokenDef->previous()->str() == "~")
|
||||||
type = Function::eDestructor;
|
type = Function::eDestructor;
|
||||||
|
|
|
@ -304,6 +304,7 @@ private:
|
||||||
TEST_CASE(symboldatabase79); // #9392
|
TEST_CASE(symboldatabase79); // #9392
|
||||||
TEST_CASE(symboldatabase80); // #9389
|
TEST_CASE(symboldatabase80); // #9389
|
||||||
TEST_CASE(symboldatabase81); // #9411
|
TEST_CASE(symboldatabase81); // #9411
|
||||||
|
TEST_CASE(symboldatabase82);
|
||||||
|
|
||||||
TEST_CASE(createSymbolDatabaseFindAllScopes1);
|
TEST_CASE(createSymbolDatabaseFindAllScopes1);
|
||||||
|
|
||||||
|
@ -4406,6 +4407,12 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void symboldatabase82() {
|
||||||
|
GET_SYMBOL_DB("namespace foo { void foo() {} }");
|
||||||
|
ASSERT(db->functionScopes.size() == 1);
|
||||||
|
ASSERT_EQUALS(false, db->functionScopes[0]->function->isConstructor());
|
||||||
|
}
|
||||||
|
|
||||||
void createSymbolDatabaseFindAllScopes1() {
|
void createSymbolDatabaseFindAllScopes1() {
|
||||||
GET_SYMBOL_DB("void f() { union {int x; char *p;} a={0}; }");
|
GET_SYMBOL_DB("void f() { union {int x; char *p;} a={0}; }");
|
||||||
ASSERT(db->scopeList.size() == 3);
|
ASSERT(db->scopeList.size() == 3);
|
||||||
|
|
Loading…
Reference in New Issue