I'm examining the code.
In the parsethread.cpp line 1570, I enable the output to report a typedef token information.
Manager::Get()->GetLogManager()->DebugLog(F(_("Adding typedef: name '%s', ancestor: '%s'"), components.front().c_str(), ancestor.c_str()));
It seems that when I parse the code like this:
typedef class Ancestor{
public:
int m_aaaa;
int m_bbbb;
} Parent;
Then the output is like this:
Adding typedef: name 'Parent', ancestor: ''
Note that the ancestor is an
empty string. This is the reason that code completion can't give the correct tooltips.
If the ancestor is string named "Ancestor", I think the code completion will work ok!
Edit: This has been confirmed, I just tested by assigning the ancestor = _T("Ancestor") , in the line 1564 of parsethread.cpp.
ancestor << typ;
ancestor = _T("Ancestor");
then, the tips can show correctly.
I'm trying to solve it, but all the codes are hard to understand(currently no document were supplied), so, it will take times, also, I will enrich the wiki page if I find the solution.
There is another issue: If I try to parse this code
class Ancestor{
public:
int m_aaaa;
int m_bbbb;
};
typedef class Ancestor Parent;
Then
no typedef token was recognized.