[PATCH] D35405: [index] Added a method indexTopLevelDecls to run indexing on a list of Decls.
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 14 03:23:51 PDT 2017
ilya-biryukov updated this revision to Diff 106604.
ilya-biryukov added a comment.
- Fixed formatting.
https://reviews.llvm.org/D35405
Files:
include/clang/Index/IndexingAction.h
lib/Index/IndexingAction.cpp
Index: lib/Index/IndexingAction.cpp
===================================================================
--- lib/Index/IndexingAction.cpp
+++ lib/Index/IndexingAction.cpp
@@ -177,6 +177,18 @@
DataConsumer->finish();
}
+void index::indexTopLevelDecls(ASTContext &Ctx, ArrayRef<const Decl *> Decls,
+ std::shared_ptr<IndexDataConsumer> DataConsumer,
+ IndexingOptions Opts) {
+ IndexingContext IndexCtx(Opts, *DataConsumer);
+ IndexCtx.setASTContext(Ctx);
+
+ DataConsumer->initialize(Ctx);
+ for (const Decl *D : Decls)
+ IndexCtx.indexTopLevelDecl(D);
+ DataConsumer->finish();
+}
+
void index::indexModuleFile(serialization::ModuleFile &Mod,
ASTReader &Reader,
std::shared_ptr<IndexDataConsumer> DataConsumer,
Index: include/clang/Index/IndexingAction.h
===================================================================
--- include/clang/Index/IndexingAction.h
+++ include/clang/Index/IndexingAction.h
@@ -11,11 +11,14 @@
#define LLVM_CLANG_INDEX_INDEXINGACTION_H
#include "clang/Basic/LLVM.h"
+#include <llvm/ADT/ArrayRef.h>
#include <memory>
namespace clang {
+ class ASTContext;
class ASTReader;
class ASTUnit;
+ class Decl;
class FrontendAction;
namespace serialization {
@@ -47,8 +50,11 @@
std::shared_ptr<IndexDataConsumer> DataConsumer,
IndexingOptions Opts);
-void indexModuleFile(serialization::ModuleFile &Mod,
- ASTReader &Reader,
+void indexTopLevelDecls(ASTContext &Ctx, ArrayRef<const Decl *> Decls,
+ std::shared_ptr<IndexDataConsumer> DataConsumer,
+ IndexingOptions Opts);
+
+void indexModuleFile(serialization::ModuleFile &Mod, ASTReader &Reader,
std::shared_ptr<IndexDataConsumer> DataConsumer,
IndexingOptions Opts);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35405.106604.patch
Type: text/x-patch
Size: 1946 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170714/0da132a6/attachment.bin>
More information about the cfe-commits
mailing list