33 lines
		
	
	
		
			912 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			912 B
		
	
	
	
		
			C++
		
	
	
	
//===-- InMemorySymbolIndex.cpp--------------------------------------------===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#include "InMemorySymbolIndex.h"
 | 
						|
 | 
						|
using clang::find_all_symbols::SymbolAndSignals;
 | 
						|
 | 
						|
namespace clang {
 | 
						|
namespace include_fixer {
 | 
						|
 | 
						|
InMemorySymbolIndex::InMemorySymbolIndex(
 | 
						|
    const std::vector<SymbolAndSignals> &Symbols) {
 | 
						|
  for (const auto &Symbol : Symbols)
 | 
						|
    LookupTable[Symbol.Symbol.getName()].push_back(Symbol);
 | 
						|
}
 | 
						|
 | 
						|
std::vector<SymbolAndSignals>
 | 
						|
InMemorySymbolIndex::search(llvm::StringRef Identifier) {
 | 
						|
  auto I = LookupTable.find(Identifier);
 | 
						|
  if (I != LookupTable.end())
 | 
						|
    return I->second;
 | 
						|
  return {};
 | 
						|
}
 | 
						|
 | 
						|
} // namespace include_fixer
 | 
						|
} // namespace clang
 |