@@ -436,12 +436,14 @@ SwiftDependencyTracker::SwiftDependencyTracker(
436436 auto status = (*file)->status ();
437437 if (!status)
438438 return ;
439- auto fileRef = (*file)->getObjectRefForContent ();
440- if (!fileRef)
439+
440+ auto casFile = dyn_cast<llvm::cas::CASBackedFile>(*file);
441+ if (!casFile)
441442 return ;
442443
444+ auto fileRef = casFile->getObjectRefForContent ();
443445 std::string realPath = Mapper ? Mapper->mapToString (path) : path.str ();
444- CommonFiles.try_emplace (realPath, ** fileRef, (size_t )status->getSize ());
446+ CommonFiles.try_emplace (realPath, fileRef, (size_t )status->getSize ());
445447 };
446448
447449 // Add SDKSetting file.
@@ -493,12 +495,13 @@ void SwiftDependencyTracker::trackFile(const Twine &path) {
493495 auto status = (*file)->status ();
494496 if (!status)
495497 return ;
496- auto fileRef = (*file)-> getObjectRefForContent ( );
497- if (!fileRef )
498+ auto CASFile = dyn_cast<llvm::cas::CASBackedFile> (*file);
499+ if (!CASFile )
498500 return ;
501+ auto fileRef = CASFile->getObjectRefForContent ();
499502 std::string realPath =
500503 Mapper ? Mapper->mapToString (path.str ()) : path.str ();
501- TrackedFiles.try_emplace (realPath, ** fileRef, (size_t )status->getSize ());
504+ TrackedFiles.try_emplace (realPath, fileRef, (size_t )status->getSize ());
502505}
503506
504507llvm::Expected<llvm::cas::ObjectProxy>
@@ -557,8 +560,9 @@ ModuleDependencyScanner::ModuleDependencyScanner(
557560 }
558561
559562 if (CAS)
560- CacheFS = llvm::cas::createCASProvidingFileSystem (
561- CAS, ScanASTContext.SourceMgr .getFileSystem ());
563+ CacheFS = cast<llvm::cas::CASBackedFileSystem>(
564+ llvm::cas::createCASProvidingFileSystem (
565+ CAS, ScanASTContext.SourceMgr .getFileSystem ()));
562566
563567 // TODO: Make num threads configurable
564568 for (size_t i = 0 ; i < NumThreads; ++i)
0 commit comments