//===- SerializedDiagnosticReader.h - Reads diagnostics ---------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICREADER_H #define LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICREADER_H #include "clang/Basic/LLVM.h" #include "llvm/Bitstream/BitstreamReader.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/ErrorOr.h" #include <system_error> namespace clang { namespace serialized_diags { enum class SDError { … }; const std::error_category &SDErrorCategory(); inline std::error_code make_error_code(SDError E) { … } /// A location that is represented in the serialized diagnostics. struct Location { … }; /// A base class that handles reading serialized diagnostics from a file. /// /// Subclasses should override the visit* methods with their logic for handling /// the various constructs that are found in serialized diagnostics. class SerializedDiagnosticReader { … }; } // namespace serialized_diags } // namespace clang template <> struct std::is_error_code_enum<clang::serialized_diags::SDError> : std::true_type { … }; #endif // LLVM_CLANG_FRONTEND_SERIALIZEDDIAGNOSTICREADER_H