[cfe-commits] [PATCH] Bug 9083 - clang_getCursorLexicalParent should return a translation unit cursor for declarations at the global scope

Douglas Gregor dgregor at apple.com
Mon Apr 30 16:41:58 PDT 2012


On Apr 22, 2012, at 2:48 PM, Evan P <hiwrac at gmail.com> wrote:

> Didn't get any bites on this in cfe-dev, hopefully now that 3.1 has branched I can get a comment or two on this.
> 
> 
> 
> This is my first real deep dive into the clang guts, so I am submitting this patch to the dev list rather than commits so that it can get extra reviewing and critiquing.
> 
> 2 Changes:
> 
> 1) Cursors created from translation unit declarations will now be of kind CXCursor_TranslationUnit rather than the default CXCursor_UnexposedDecl 
> 
> 2) Cursor created by clang_getTranslationUnitCursor is now created with MakeCXCursor and includes the translation unit decl.  This ensures that the cursor returned by clang_getTranslationUnitCursor and clang_getCursorLexicalParent in the case of a translation unit compare correctly via clang_equalCursors.  The code to fetch the translation decl is based on code inside CursorVisitor::VisitChildren.

This looks great; committed as r155858, thanks!

	- Doug




More information about the cfe-commits mailing list