kdev-clang: Invalid inheriters list.

Gustaw Smolarczyk wielkiegie at gmail.com
Thu Nov 12 19:30:44 UTC 2015


Hi,

First, I want to say that I am new to the kdevelop internals. Any
guidance would be beneficial.

There is a problem when using kdev-clang with the list of inheritors
of a class. It lists not only the inheritors but also the inner
classes.

To reproduce:
class X { class Y {}; };

After parsing and hovering over X, it will say that Y inherits from X.

I have tried to track why is this information wrong. I have found that
DUChainUtils::getInheritors() function uses class declaration's
importers list for this purpose. However, kdev-clang marks the inner
class as an importer of the outer class. I suspect the old cpp plugin
didn't do so.

Is the behaviour of kdev-clang correct? If so, should the
getInheritors() function be fixed not to follow inner classes?

Regards,
Gustaw Smolarczyk


More information about the KDevelop-devel mailing list