1351290Sdim//===-- ModuleDependencyCollector.h -----------------------------*- C++ -*-===// 2351290Sdim// 3351290Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4351290Sdim// See https://llvm.org/LICENSE.txt for license information. 5351290Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6351290Sdim// 7351290Sdim//===----------------------------------------------------------------------===// 8351290Sdim 9351290Sdim#ifndef liblldb_ModuleDependencyCollector_h_ 10351290Sdim#define liblldb_ModuleDependencyCollector_h_ 11351290Sdim 12351290Sdim#include "clang/Frontend/Utils.h" 13351290Sdim#include "llvm/ADT/StringRef.h" 14360784Sdim#include "llvm/Support/FileCollector.h" 15351290Sdim 16351290Sdimnamespace lldb_private { 17351290Sdimclass ModuleDependencyCollectorAdaptor 18351290Sdim : public clang::ModuleDependencyCollector { 19351290Sdimpublic: 20360784Sdim ModuleDependencyCollectorAdaptor( 21360784Sdim std::shared_ptr<llvm::FileCollector> file_collector) 22351290Sdim : clang::ModuleDependencyCollector(""), m_file_collector(file_collector) { 23351290Sdim } 24351290Sdim 25351290Sdim void addFile(llvm::StringRef Filename, 26351290Sdim llvm::StringRef FileDst = {}) override { 27360784Sdim if (m_file_collector) 28360784Sdim m_file_collector->addFile(Filename); 29351290Sdim } 30351290Sdim 31351290Sdim bool insertSeen(llvm::StringRef Filename) override { return false; } 32351290Sdim void addFileMapping(llvm::StringRef VPath, llvm::StringRef RPath) override {} 33351290Sdim void writeFileMap() override {} 34351290Sdim 35351290Sdimprivate: 36360784Sdim std::shared_ptr<llvm::FileCollector> m_file_collector; 37351290Sdim}; 38351290Sdim} // namespace lldb_private 39351290Sdim 40351290Sdim#endif 41