//===-- InMemorySymbolIndex.cpp--------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "InMemorySymbolIndex.h" using clang::find_all_symbols::SymbolAndSignals; namespace clang { namespace include_fixer { InMemorySymbolIndex::InMemorySymbolIndex( const std::vector &Symbols) { for (const auto &Symbol : Symbols) LookupTable[std::string(Symbol.Symbol.getName())].push_back(Symbol); } std::vector InMemorySymbolIndex::search(llvm::StringRef Identifier) { auto I = LookupTable.find(std::string(Identifier)); if (I != LookupTable.end()) return I->second; return {}; } } // namespace include_fixer } // namespace clang