how to determine a parameter has a type declarator in clang

Thanks for your reply. But i still can not figure it out. I get function declaration by these codes below:

class MyASTVisitor : public RecursiveASTVisitor
bool VisitFunctionDecl(FunctionDecl *f) {
for (FunctionDecl::param_iterator it = f->param_begin(); it != f->param_end(); ++it) {
ParmVarDecl *p = *it;

return true;

which means I only get FunctionDecl object. I do not know how to get a FunctionTypeInfo you mentioned. Maybe I 'm not on the right way to parse a function definition/declaration.

BTW, I’m writing a static code analyzer tool, and i will check whether a function parameter has a type declarator.

I think you need a DeclaratorChunk that represents the function (Kind
== DeclaratorChunk::Function). Then you access the Fun union member.