GNOME Bugzilla – Bug 779797
Symbol tree isn't working for C++
Last modified: 2017-03-12 08:49:27 UTC
Created attachment 347533 [details]
hpp file with a class definition and inline function
Neither gnome-buider-3.22.4 nor gnome-builder-nighlty (flatpak) is able to show the symbol-tree for classes written in C++. I doesn't matter wether it is a header-only class with inline-definitions or a seperate header with a source-file. Symbols are only shown for non-class related source-code and static variables in classes.
Steps to reproduce:
1.) Created a project with the template "C++ & Meson", using gnome-builder-3.22.4, because the nightly flatpack can't create such a project.
2.) Written header-only class (class_with_inline_member_functin.png)
3.) Written header and source class and added source to meson.build in ./src/meson.build (member_function_define_in_source.png)
4.) Writte a regular function in main.cpp (regular_function.png)
5.) Installed flatpack-nighlty
6.) Opened the exising project and created the support-log and the trace-log (I think the flatpack cannot access ninja, right?)
If I remember correctly, this is a long standing bug and not introduced with the last cycle.
Note: This bug is based on an discussion via email with Christian.
Created attachment 347534 [details]
hpp file with class definition, and member-function defined in cpp file
Created attachment 347535 [details]
support log of gnome builder
Created attachment 347536 [details]
trace log with -vvvv
Created attachment 347537 [details]
regular function, symbols are shown as expected
Created attachment 347741 [details] [review]
clang: add CXXMethod and namespace to symbol tree
Was just missing an enum type in the clang symbol resolver.
Attachment 347741 [details] pushed as e75ea5a - clang: add CXXMethod and namespace to symbol tree