For example:
In the current CodeCompletion symbol browser, there are two Tokens found.
a, its type is int*
b, its type is int*
I think it is wrong, because the correct Token should be
a, it's type is int*
b, it's type is int
In the code:
wxString ParserThread::GetActualTokenType()
it seems the "*" is binding to the left. So, if you define a variable like below:
AAAA is firstly regarded as a Token name.
Then we will analysis the
const wxString * .
The currently CC didn't parser the pointer list definition well.
This also happens in handling typedefs.
Also, you can see the code in:
void ParserThread::HandleTypedef()
{
size_t lineNr = m_Tokenizer.GetLineNumber();
bool is_function_pointer = false;
wxString typ;
std::queue<wxString> components;
// get everything on the same line
TRACE(_T("HandleTypedef() : Typedef start"));
wxString args;
wxString token;
wxString peek;
m_ParsingTypedef = true;
while (true)
{
token = m_Tokenizer.GetToken();
peek = m_Tokenizer.PeekToken();
TRACE(_T("HandleTypedef() : token=%s, peek=%s"), token.wx_str(), peek.wx_str());
if (token.IsEmpty() || token == ParserConsts::semicolon)
break;
We only take care of the "semicolon", but how can we deal with commas