[cfe-dev] getting info about fields in a RecursiveASTVisitor::VisitFieldDecl override
Peeter Joot
peeter.joot at gmail.com
Fri Nov 30 15:10:43 PST 2012
I've got an AST visitor override for class members:
bool VisitFieldDecl( FieldDecl * f )
{
RecordDecl * r = f->getParent() ;
cout << "CLASS: " << r->getName().str() << endl ;
cout << "MEMBER: " << f->getName().str() << " ( " ;
TypeSourceInfo * t = f->getTypeSourceInfo() ;
TypeLoc TL = t->getTypeLoc() ;
const QualType & q = TL.getType() ;
cout << "TYPE: " << q.getAsString() << " )" << endl ;
return true ;
}
I'd like to be able to check a few things about the types of the
class/struct/union members that this finds:
- ask if q is a basic type (pointer, reference, char, short, int, ...)?
- if q is an array type, what's the underlying array type?
(motivation: I'd like to know what all the true dependencies of a given
struct is, with an eventual goal of comparing the header file dependencies
to the actual structure dependencies ... ignoring for now dependencies that
are introduced by inline member functions).
--
Peeter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121130/caca37b0/attachment.html>
More information about the cfe-dev
mailing list