diff --git a/src/plugins/cppeditor/cppchecksymbols.cpp b/src/plugins/cppeditor/cppchecksymbols.cpp index e683fd6719831eb72cef867de05d7741ebb268e6..613186375a70751126f7f25ebafaecca2a411083 100644 --- a/src/plugins/cppeditor/cppchecksymbols.cpp +++ b/src/plugins/cppeditor/cppchecksymbols.cpp @@ -229,6 +229,11 @@ protected: return true; } + virtual bool visit(Template *) + { + return true; + } + virtual bool visit(Class *symbol) { addType(symbol->name()); @@ -857,7 +862,7 @@ void CheckSymbols::addTypeOrStatic(const QList &candidates, NameAST else if (c->isUsingNamespaceDirective()) // ... and using namespace directives. continue; else if (c->isTypedef() || c->isNamespace() || - c->isClass() || c->isEnum() || + c->isClass() || c->isEnum() || c->isTemplate() || c->isForwardClassDeclaration() || c->isTypenameArgument() || c->enclosingEnum() != 0) { unsigned line, column; diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp index 2360e0036395cafcf838d3fd2f84a16b87b77f9a..cfb61bfae44b129228cf85741cd75b7ea465c35a 100644 --- a/src/shared/cplusplus/Symbol.cpp +++ b/src/shared/cplusplus/Symbol.cpp @@ -348,7 +348,7 @@ bool Symbol::isNamespace() const { return asNamespace() != 0; } bool Symbol::isTemplate() const -{ return asNamespace() != 0; } +{ return asTemplate() != 0; } bool Symbol::isClass() const { return asClass() != 0; }