Function pointers: re-enabled the simplifyFunctionPointers
This commit is contained in:
parent
cfacd5fe10
commit
8a9eba980b
|
@ -952,7 +952,7 @@ bool Tokenizer::tokenize(std::istream &code, const char FileName[])
|
||||||
removeExceptionSpecifications(_tokens);
|
removeExceptionSpecifications(_tokens);
|
||||||
|
|
||||||
// simplify function pointers
|
// simplify function pointers
|
||||||
// simplifyFunctionPointers();
|
simplifyFunctionPointers();
|
||||||
|
|
||||||
setVarId();
|
setVarId();
|
||||||
if (!validate())
|
if (!validate())
|
||||||
|
|
|
@ -2169,6 +2169,33 @@ private:
|
||||||
ASSERT_EQUALS("\"a\"", tok("\"\\177\""));
|
ASSERT_EQUALS("\"a\"", tok("\"\\177\""));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string simplifyTypedef(const char code[])
|
||||||
|
{
|
||||||
|
errout.str("");
|
||||||
|
|
||||||
|
Settings settings;
|
||||||
|
Tokenizer tokenizer(&settings, this);
|
||||||
|
tokenizer._files.push_back("test.cpp");
|
||||||
|
|
||||||
|
std::istringstream istr(code);
|
||||||
|
tokenizer.createTokens(istr);
|
||||||
|
tokenizer.createLinks();
|
||||||
|
tokenizer.simplifyTypedef();
|
||||||
|
|
||||||
|
std::string ret;
|
||||||
|
for (const Token *tok = tokenizer.tokens(); tok; tok = tok->next())
|
||||||
|
{
|
||||||
|
if (tok != tokenizer.tokens())
|
||||||
|
ret += " ";
|
||||||
|
ret += tok->str();
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void simplifyTypedef1()
|
void simplifyTypedef1()
|
||||||
{
|
{
|
||||||
const char code[] = "class A\n"
|
const char code[] = "class A\n"
|
||||||
|
@ -2663,7 +2690,7 @@ private:
|
||||||
"void ( * pf ) ( ) ; "
|
"void ( * pf ) ( ) ; "
|
||||||
"void * ( * pfv ) ( void * ) ;";
|
"void * ( * pfv ) ( void * ) ;";
|
||||||
|
|
||||||
ASSERT_EQUALS(tok(expected), tok(code));
|
ASSERT_EQUALS(expected, simplifyTypedef(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
void simplifyTypedef22()
|
void simplifyTypedef22()
|
||||||
|
@ -2831,7 +2858,7 @@ private:
|
||||||
"void ( * fill_names ) ( struct vfs_class * me , void ( * ) ( const char * ) ) ; "
|
"void ( * fill_names ) ( struct vfs_class * me , void ( * ) ( const char * ) ) ; "
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
ASSERT_EQUALS(expected, tok(code, false));
|
ASSERT_EQUALS(expected, simplifyTypedef(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -2846,7 +2873,7 @@ private:
|
||||||
"void ( * fill_names ) ( void ( * ) ( const char * ) , struct vfs_class * me ) ; "
|
"void ( * fill_names ) ( void ( * ) ( const char * ) , struct vfs_class * me ) ; "
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
ASSERT_EQUALS(expected, tok(code, false));
|
ASSERT_EQUALS(expected, simplifyTypedef(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue