mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Serialization] Use a StringMap for registered buffers instead of a std::map.
Also, erase empty entries from the map once they've been loaded, just in case we end up registering /more/ buffers later. No intended functionality change. Swift SVN r25202
This commit is contained in:
@@ -60,7 +60,7 @@ enum class ModuleStatus {
|
||||
class SerializedModuleLoader : public ModuleLoader {
|
||||
private:
|
||||
ASTContext &Ctx;
|
||||
std::map<std::string, std::unique_ptr<llvm::MemoryBuffer> > MemoryBuffers;
|
||||
llvm::StringMap<std::unique_ptr<llvm::MemoryBuffer>> MemoryBuffers;
|
||||
/// A { module, generation # } pair.
|
||||
using LoadedModulePair = std::pair<std::unique_ptr<ModuleFile>, unsigned>;
|
||||
std::vector<LoadedModulePair> LoadedModuleFiles;
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
/// FIXME: make this an actual access *path* once submodules are designed.
|
||||
void registerMemoryBuffer(StringRef AccessPath,
|
||||
std::unique_ptr<llvm::MemoryBuffer> input) {
|
||||
MemoryBuffers[AccessPath].reset(input.release());
|
||||
MemoryBuffers[AccessPath] = std::move(input);
|
||||
}
|
||||
|
||||
virtual void loadExtensions(NominalTypeDecl *nominal,
|
||||
|
||||
Reference in New Issue
Block a user