Bug 359273 - Tool to see all members, including inherited (C++)
Summary: Tool to see all members, including inherited (C++)
Status: CONFIRMED
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (Clang-based) (show other bugs)
Version: git master
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2016-02-11 14:21 UTC by Alexander Potashev
Modified: 2016-02-14 17:28 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Potashev 2016-02-11 14:21:02 UTC
Please add a tool to see all members, including inherited ones for a C++ class. It can be for example a tool view.

For class B defined below this tool should list the members "x", "y", "f" and "g":
    class A { int x; void f(); };
    class B : public A { int y; void g(); };

Reproducible: Always
Comment 1 Kevin Funk 2016-02-11 14:38:19 UTC
More generalised: I think having a tool view that allows querying source code information wouldn't be too bad.

The big problem is the query language / or the UI to allow defining the query. (Clang solves this with AST matchers, see here: http://clang.llvm.org/docs/LibASTMatchers.html). If anyone wants to work on this, please consider stealing concepts from Clang's AST matchers, it's super powerful, yet easy to work with. We could support part a subset of the AST matchers which would be used to filter our DUChain.
Comment 2 Milian Wolff 2016-02-11 17:33:23 UTC
There's also CQLinq which is quite powerful, from what I've seen on screenshots:

http://www.cppdepend.com/cqlinq

That is more geared towards usage by mere mortals in an IDE context.
Comment 3 Milian Wolff 2016-02-14 17:28:27 UTC
Actually, I think we should start with having a list of all members in a list similar to the one currently used for "show uses". A link to that could be added to the navigation widget and triggered from there. Should be fairly easy to add, I think. If anyone has questions, contact us on freenode#kdevelop IRC or our mailing list at kdevelop-devel@kde.org

cheers