//===- Diagnostic.h - PDLL AST 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 MLIR_TOOLS_PDLL_AST_DIAGNOSTIC_H #define MLIR_TOOLS_PDLL_AST_DIAGNOSTIC_H #include <string> #include <optional> #include "mlir/Support/LLVM.h" #include "llvm/ADT/FunctionExtras.h" #include "llvm/Support/SourceMgr.h" namespace mlir { namespace pdll { namespace ast { class DiagnosticEngine; //===----------------------------------------------------------------------===// // Diagnostic //===----------------------------------------------------------------------===// /// This class provides a simple implementation of a PDLL diagnostic. class Diagnostic { … }; //===----------------------------------------------------------------------===// // InFlightDiagnostic //===----------------------------------------------------------------------===// /// This class represents a diagnostic that is inflight and set to be reported. /// This allows for last minute modifications of the diagnostic before it is /// emitted by a DiagnosticEngine. class InFlightDiagnostic { … }; //===----------------------------------------------------------------------===// // DiagnosticEngine //===----------------------------------------------------------------------===// /// This class manages the construction and emission of PDLL diagnostics. class DiagnosticEngine { … }; } // namespace ast } // namespace pdll } // namespace mlir #endif // MLIR_TOOLS_PDLL_AST_DIAGNOSTIC_H