//===--- FileCache.cpp ----------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "support/FileCache.h" #include "llvm/ADT/ScopeExit.h" #include <optional> namespace clang { namespace clangd { // Sentinel values for the Size cache key. In both cases, a successful stat of // the file will never result in the cached value being reused. // The cached value does not reflect the current content on disk. static constexpr uint64_t CacheDiskMismatch = …; // The cached value reflects that the file doesn't exist. static constexpr uint64_t FileNotFound = …; FileCache::FileCache(llvm::StringRef Path) : … { … } void FileCache::read( const ThreadsafeFS &TFS, std::chrono::steady_clock::time_point FreshTime, llvm::function_ref<void(std::optional<llvm::StringRef>)> Parse, llvm::function_ref<void()> Read) const { … } } // namespace clangd } // namespace clang