clang  6.0.0svn
IndexingAction.h
Go to the documentation of this file.
1 //===--- IndexingAction.h - Frontend index action -------------------------===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_CLANG_INDEX_INDEXINGACTION_H
11 #define LLVM_CLANG_INDEX_INDEXINGACTION_H
12 
13 #include "clang/Basic/LLVM.h"
14 #include "llvm/ADT/ArrayRef.h"
15 #include <memory>
16 
17 namespace clang {
18  class ASTContext;
19  class ASTReader;
20  class ASTUnit;
21  class Decl;
22  class FrontendAction;
23 
24 namespace serialization {
25  class ModuleFile;
26 }
27 
28 namespace index {
29  class IndexDataConsumer;
30 
33  None,
34  DeclarationsOnly,
35  All,
36  };
37 
38  SystemSymbolFilterKind SystemSymbolFilter
39  = SystemSymbolFilterKind::DeclarationsOnly;
40  bool IndexFunctionLocals = false;
41 };
42 
43 /// \param WrappedAction another frontend action to wrap over or null.
44 std::unique_ptr<FrontendAction>
45 createIndexingAction(std::shared_ptr<IndexDataConsumer> DataConsumer,
46  IndexingOptions Opts,
47  std::unique_ptr<FrontendAction> WrappedAction);
48 
49 void indexASTUnit(ASTUnit &Unit,
50  std::shared_ptr<IndexDataConsumer> DataConsumer,
51  IndexingOptions Opts);
52 
54  std::shared_ptr<IndexDataConsumer> DataConsumer,
55  IndexingOptions Opts);
56 
58  std::shared_ptr<IndexDataConsumer> DataConsumer,
59  IndexingOptions Opts);
60 
61 } // namespace index
62 } // namespace clang
63 
64 #endif
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition: ASTContext.h:128
Utility class for loading a ASTContext from an AST file.
Definition: ASTUnit.h:71
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Information about a module that has been loaded by the ASTReader.
Definition: Module.h:100
void indexTopLevelDecls(ASTContext &Ctx, ArrayRef< const Decl *> Decls, std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts)
Dataflow Directional Tag Classes.
Reads an AST files chain containing the contents of a translation unit.
Definition: ASTReader.h:328
void indexASTUnit(ASTUnit &Unit, std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts)
std::unique_ptr< FrontendAction > createIndexingAction(std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts, std::unique_ptr< FrontendAction > WrappedAction)
void indexModuleFile(serialization::ModuleFile &Mod, ASTReader &Reader, std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts)