[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Problem getting CFunctions when other headers are included
|
I tried things like:
transUnit.getAST(null,ITranslationUnit.AST_SKIP_INDEXED_HEADERS |
ITranslationUnit.AST_SKIP_NONINDEXED_HEADERS);
But then i cannot resolve types defined in other headers....
"patrick.schmitt@xxxxxxx" <patrick.schmitt@xxxxxxx> hat am 5. Oktober 2009 um 16:20 geschrieben:
> Hello guys,
> I have a problem with my CDT AST Parser Plugin.
>
> I wanted to get all CFUnctions of a single header file. But when including other
> headers in that file,
> e.g. windows.h, i get thousands of functions declarations, even i just want the
> declaration of that single header file. I think I am doing something wrong
> basicly....
>
> Here is my code:
> // object when right click on header file
> IStructuredSelection sel = (IStructuredSelection) _select;
> // get the translation unit
> if (sel.getFirstElement() instanceof ITranslationUnit)
> {
> // create transUnit
> tUnit = (ITranslationUnit) sel.getFirstElement();
> // get AST of the ITranslationUnit
> _astUnit = tUnit .getAST();
> decs = _astUnit.getDeclarations();
>
> for (IASTDeclaration dec : decs)
> {
> // if its a simple declaration
> if (dec instanceof IASTSimpleDeclaration)
> {
> // cast to simple declaration
> simplDec = (IASTSimpleDeclaration)dec;
>
> // cast the declarator
> declas = simplDec.getDeclarators();
>
> // only if its a functionDeclarator
> if (declas.length > 0
> && declas[0] instanceof IASTFunctionDeclarator)
> {
> // cast to function declarator
> IASTFunctionDeclarator funcDecl =
> (IASTFunctionDeclarator)declas[0];
> // HERE WE GO WITH THE FUNCTION
> // .....
> }
> }
> }
>
> Maybe anybody has an idea ?
>
>
> Sincerly
> Patrick