This PR removes the assumption that a deserialized module file is backed by a `FileEntry`. The uniquing and lookup role of `ModuleFile`'s `FileEntryRef` member is entirely replaced with the `ModuleFileKey` member. For checking whether an existing `ModuleFile` conforms to the expectations of importers, the file size and mod time are now stored directly on `ModuleFile` (previously provided by its `FileEntry`). Together, these changes enable removal of the `ModuleManager::lookupByFileName(StringRef)` and `ModuleManager::lookup(const FileEntry *)` APIs.
31 KiB
31 KiB