Metadata display on the new web UI
dbukki opened this issue · 0 comments
dbukki commented
The old web UI was able to display several important metadata about components of the selected class or function that the new web UI does not currently have support for. Such features are (as illustrated by the images below):
- visibility of members (private/protected/public; both with grouping and with +/#/- icons)
- tag-based flags in the entry's prefix ('S'=static/'G'=global/'I'=implicit/...)
- grayed-out entries for implicit nodes (e.g. range and iterator variables in range-based for loops, or implicitly generated constructors, destructors and assignment operators)
I would also consider adding further flags, like:
- mutable
- constexpr, constinit, consteval
- 'abstract'/'pure', override, final (we already have virtual)
- noexcept
Here's the dummy code I used for the images:
class SpecialClass
{
private:
const volatile int cvi = 7;
mutable char mc = 'a';
static long sl;
static constexpr const char* scccp = "hello";
protected:
SpecialClass() {}
public:
int something() const
{
int sum = 0;
int vals[] = {2,3,5,7};
for (int val : vals)
sum += val;
return sum;
}
};
long SpecialClass::sl = 7;