143356f56SNico Weber //===-- InMemorySymbolIndex.cpp--------------------------------------------===// 243356f56SNico Weber // 343356f56SNico Weber // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 443356f56SNico Weber // See https://llvm.org/LICENSE.txt for license information. 543356f56SNico Weber // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 643356f56SNico Weber // 743356f56SNico Weber //===----------------------------------------------------------------------===// 843356f56SNico Weber 943356f56SNico Weber #include "InMemorySymbolIndex.h" 1043356f56SNico Weber 1143356f56SNico Weber using clang::find_all_symbols::SymbolAndSignals; 1243356f56SNico Weber 1343356f56SNico Weber namespace clang { 1443356f56SNico Weber namespace include_fixer { 1543356f56SNico Weber 1643356f56SNico Weber InMemorySymbolIndex::InMemorySymbolIndex( 1743356f56SNico Weber const std::vector<SymbolAndSignals> &Symbols) { 1843356f56SNico Weber for (const auto &Symbol : Symbols) 19adcd0268SBenjamin Kramer LookupTable[std::string(Symbol.Symbol.getName())].push_back(Symbol); 2043356f56SNico Weber } 2143356f56SNico Weber 2243356f56SNico Weber std::vector<SymbolAndSignals> 2343356f56SNico Weber InMemorySymbolIndex::search(llvm::StringRef Identifier) { 24*b7ee03ffSKazu Hirata auto I = LookupTable.find(Identifier); 2543356f56SNico Weber if (I != LookupTable.end()) 2643356f56SNico Weber return I->second; 2743356f56SNico Weber return {}; 2843356f56SNico Weber } 2943356f56SNico Weber 3043356f56SNico Weber } // namespace include_fixer 3143356f56SNico Weber } // namespace clang 32