Change interfaces to accept a FileCollectorBase

The FileCollectorBase is the common interface shared by different
implementations. In lldb, we implement our own lazy variant that allows
us to do the heavy lifting out-of-process instead of inside the signal
handler.
This commit is contained in:
Jonas Devlieghere
2020-10-26 13:40:46 -07:00
parent 08612ff9fd
commit d01474cc72
4 changed files with 11 additions and 11 deletions

View File

@@ -24,14 +24,14 @@
#include "swift/ClangImporter/ClangImporter.h"
namespace llvm {
class FileCollector;
class FileCollectorBase;
}
namespace swift {
DependencyTracker::DependencyTracker(
IntermoduleDepTrackingMode Mode,
std::shared_ptr<llvm::FileCollector> FileCollector)
std::shared_ptr<llvm::FileCollectorBase> FileCollector)
// NB: The ClangImporter believes it's responsible for the construction of
// this instance, and it static_cast<>s the instance pointer to its own
// subclass based on that belief. If you change this to be some other