20#include <clang/Tooling/Tooling.h>
29using namespace clang::tooling;
32 clang::DiagnosticsEngine::Level
level{
33 clang::DiagnosticsEngine::Level::Ignored};
35 std::optional<clanguml::common::model::source_location>
location;
45 std::vector<diagnostic> d,
46 std::string description =
"Clang failed to parse sources.");
56 DiagnosticsEngine::Level diag_level,
const Diagnostic &info)
override;
75 const std::vector<std::string> &source_paths,
76 std::filesystem::path relative_to,
bool quiet);
82 void run(ToolAction *Action);
93 llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem>
overlay_fs_;
94 llvm::IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem>
inmemory_fs_;
95 llvm::IntrusiveRefCntPtr<FileManager>
files_;
98 std::pair<StringRef , StringRef >>
106 llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions>
diag_opts_;
111std::string to_string(clang::DiagnosticsEngine::Level level);