diff options
Diffstat (limited to 'include/clang/Index/IndexingAction.h')
-rw-r--r-- | include/clang/Index/IndexingAction.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/clang/Index/IndexingAction.h b/include/clang/Index/IndexingAction.h index 0d09c403483d9..63e38975ce169 100644 --- a/include/clang/Index/IndexingAction.h +++ b/include/clang/Index/IndexingAction.h @@ -12,6 +12,7 @@ #include "clang/Basic/LLVM.h" #include "clang/Lex/PPCallbacks.h" +#include "clang/Lex/Preprocessor.h" #include "llvm/ADT/ArrayRef.h" #include <memory> @@ -40,6 +41,10 @@ struct IndexingOptions { = SystemSymbolFilterKind::DeclarationsOnly; bool IndexFunctionLocals = false; bool IndexImplicitInstantiation = false; + // Whether to index macro definitions in the Preprocesor when preprocessor + // callback is not available (e.g. after parsing has finished). Note that + // macro references are not available in Proprocessor. + bool IndexMacrosInPreprocessor = false; }; /// Creates a frontend action that indexes all symbols (macros and AST decls). @@ -50,13 +55,12 @@ createIndexingAction(std::shared_ptr<IndexDataConsumer> DataConsumer, std::unique_ptr<FrontendAction> WrappedAction); /// Recursively indexes all decls in the AST. -/// Note that this does not index macros. void indexASTUnit(ASTUnit &Unit, IndexDataConsumer &DataConsumer, IndexingOptions Opts); /// Recursively indexes \p Decls. -/// Note that this does not index macros. -void indexTopLevelDecls(ASTContext &Ctx, ArrayRef<const Decl *> Decls, +void indexTopLevelDecls(ASTContext &Ctx, Preprocessor &PP, + ArrayRef<const Decl *> Decls, IndexDataConsumer &DataConsumer, IndexingOptions Opts); /// Creates a PPCallbacks that indexes macros and feeds macros to \p Consumer. @@ -65,7 +69,6 @@ std::unique_ptr<PPCallbacks> indexMacrosCallback(IndexDataConsumer &Consumer, IndexingOptions Opts); /// Recursively indexes all top-level decls in the module. -/// FIXME: make this index macros as well. void indexModuleFile(serialization::ModuleFile &Mod, ASTReader &Reader, IndexDataConsumer &DataConsumer, IndexingOptions Opts); |