| //===-- InMemorySymbolIndex.h -----------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| #ifndef LLVM_CLANG_TOOLS_EXTRA_INCLUDE_FIXER_INMEMORYSYMBOLINDEX_H |
| #define LLVM_CLANG_TOOLS_EXTRA_INCLUDE_FIXER_INMEMORYSYMBOLINDEX_H |
| |
| #include "SymbolIndex.h" |
| #include <map> |
| #include <string> |
| #include <vector> |
| |
| namespace clang { |
| namespace include_fixer { |
| |
| /// Xref database with fixed content. |
| class InMemorySymbolIndex : public SymbolIndex { |
| public: |
| InMemorySymbolIndex( |
| const std::vector<find_all_symbols::SymbolAndSignals> &Symbols); |
| |
| std::vector<find_all_symbols::SymbolAndSignals> |
| search(llvm::StringRef Identifier) override; |
| |
| private: |
| std::map<std::string, std::vector<find_all_symbols::SymbolAndSignals>> |
| LookupTable; |
| }; |
| |
| } // namespace include_fixer |
| } // namespace clang |
| |
| #endif // LLVM_CLANG_TOOLS_EXTRA_INCLUDE_FIXER_INMEMORYSYMBOLINDEX_H |