|
MLIR 22.0.0git
|
This class contains all of the information necessary to report a diagnostic to the DiagnosticEngine. More...
#include "mlir/IR/Diagnostics.h"
Public Types | |
| using | note_iterator = llvm::pointee_iterator<NoteVector::iterator> |
| using | const_note_iterator |
Public Member Functions | |
| Diagnostic (Location loc, DiagnosticSeverity severity) | |
| Diagnostic (Diagnostic &&)=default | |
| Diagnostic & | operator= (Diagnostic &&)=default |
| DiagnosticSeverity | getSeverity () const |
| Returns the severity of this diagnostic. | |
| Location | getLocation () const |
| Returns the source location for this diagnostic. | |
| MutableArrayRef< DiagnosticArgument > | getArguments () |
| Returns the current list of diagnostic arguments. | |
| ArrayRef< DiagnosticArgument > | getArguments () const |
| template<typename Arg> | |
| std::enable_if_t<!std::is_convertible< Arg, StringRef >::value &&std::is_constructible< DiagnosticArgument, Arg >::value, Diagnostic & > | operator<< (Arg &&val) |
| Stream operator for inserting new diagnostic arguments. | |
| Diagnostic & | operator<< (StringAttr val) |
| template<size_t n> | |
| Diagnostic & | operator<< (const char(&val)[n]) |
| Stream in a string literal. | |
| Diagnostic & | operator<< (char val) |
| Stream in a Twine argument. | |
| Diagnostic & | operator<< (const Twine &val) |
| Diagnostic & | operator<< (Twine &&val) |
| Diagnostic & | operator<< (OperationName val) |
| Stream in an OperationName. | |
| Diagnostic & | operator<< (Operation &op) |
| Stream in an Operation. | |
| Diagnostic & | operator<< (OpWithFlags op) |
| Diagnostic & | operator<< (Operation *op) |
| Diagnostic & | appendOp (Operation &op, const OpPrintingFlags &flags) |
| Append an operation with the given printing flags. | |
| Diagnostic & | operator<< (Value val) |
| Stream in a Value. | |
| template<typename T, typename ValueT = llvm::detail::ValueOfRange<T>> | |
| std::enable_if_t<!std::is_constructible< DiagnosticArgument, T >::value, Diagnostic & > | operator<< (T &&range) |
| Stream in a range. | |
| template<typename T> | |
| Diagnostic & | appendRange (const T &c, const char *delim=", ") |
| Append a range to the diagnostic. | |
| template<typename Arg1, typename Arg2, typename... Args> | |
| Diagnostic & | append (Arg1 &&arg1, Arg2 &&arg2, Args &&...args) |
| Append arguments to the diagnostic. | |
| template<typename Arg> | |
| Diagnostic & | append (Arg &&arg) |
| Append one argument to the diagnostic. | |
| void | print (raw_ostream &os) const |
| Outputs this diagnostic to a stream. | |
| std::string | str () const |
| Converts the diagnostic to a string. | |
| Diagnostic & | attachNote (std::optional< Location > noteLoc=std::nullopt) |
| Attaches a note to this diagnostic. | |
| iterator_range< note_iterator > | getNotes () |
| Returns the notes held by this diagnostic. | |
| iterator_range< const_note_iterator > | getNotes () const |
| operator LogicalResult () const | |
| Allow a diagnostic to be converted to 'failure'. | |
| operator ParseResult () const | |
| Allow a diagnostic to be converted to 'failure'. | |
| template<typename T> | |
| operator FailureOr< T > () const | |
| Allow a diagnostic to be converted to FailureOr<T>. | |
| SmallVectorImpl< DiagnosticArgument > & | getMetadata () |
| Returns the current list of diagnostic metadata. | |
This class contains all of the information necessary to report a diagnostic to the DiagnosticEngine.
It should generally not be constructed directly, and instead used transitively via InFlightDiagnostic.
Definition at line 156 of file Diagnostics.h.
Definition at line 253 of file Diagnostics.h.
| using mlir::Diagnostic::note_iterator = llvm::pointee_iterator<NoteVector::iterator> |
Definition at line 252 of file Diagnostics.h.
|
inline |
Definition at line 160 of file Diagnostics.h.
Referenced by append(), append(), appendOp(), appendRange(), attachNote(), Diagnostic(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), and operator=().
|
default |
References Diagnostic().
|
inline |
Append one argument to the diagnostic.
Definition at line 236 of file Diagnostics.h.
References Diagnostic().
|
inline |
Append arguments to the diagnostic.
Definition at line 230 of file Diagnostics.h.
References append(), and Diagnostic().
Referenced by append(), and mlir::detail::verifySymbolTable().
| Diagnostic & Diagnostic::appendOp | ( | Operation & | op, |
| const OpPrintingFlags & | flags ) |
Append an operation with the given printing flags.
Definition at line 145 of file Diagnostics.cpp.
References adjustPrintingFlags(), Diagnostic(), mlir::Operation::print(), and str().
Referenced by operator<<(), and operator<<().
|
inline |
Append a range to the diagnostic.
The default delimiter between elements is ','.
Definition at line 222 of file Diagnostics.h.
References Diagnostic().
| Diagnostic & Diagnostic::attachNote | ( | std::optional< Location > | noteLoc = std::nullopt | ) |
Attaches a note to this diagnostic.
A new location may be optionally provided, if not, then the location defaults to the one specified for this diagnostic. Notes may not be attached to other notes.
Append and return a new note.
Definition at line 181 of file Diagnostics.cpp.
References Diagnostic(), and mlir::Note.
Referenced by mlir::DiagnosedDefiniteFailure::attachNote().
|
inline |
Returns the current list of diagnostic arguments.
Definition at line 172 of file Diagnostics.h.
Referenced by print().
|
inline |
Definition at line 173 of file Diagnostics.h.
|
inline |
Returns the source location for this diagnostic.
Definition at line 169 of file Diagnostics.h.
|
inline |
Returns the current list of diagnostic metadata.
Definition at line 278 of file Diagnostics.h.
|
inline |
Returns the notes held by this diagnostic.
Definition at line 257 of file Diagnostics.h.
|
inline |
Definition at line 260 of file Diagnostics.h.
|
inline |
Returns the severity of this diagnostic.
Definition at line 166 of file Diagnostics.h.
|
inline |
Allow a diagnostic to be converted to FailureOr<T>.
Always results in 'failure' because this cast cannot possibly return an object of 'T'.
Definition at line 273 of file Diagnostics.h.
| Diagnostic::operator LogicalResult | ( | ) | const |
Allow a diagnostic to be converted to 'failure'.
Definition at line 197 of file Diagnostics.cpp.
|
inline |
Allow a diagnostic to be converted to 'failure'.
Definition at line 268 of file Diagnostics.h.
|
inline |
Stream operator for inserting new diagnostic arguments.
Definition at line 173 of file Diagnostics.h.
| Diagnostic & Diagnostic::operator<< | ( | char | val | ) |
Stream in a Twine argument.
Definition at line 102 of file Diagnostics.cpp.
References Diagnostic().
|
inline |
| Diagnostic & Diagnostic::operator<< | ( | const Twine & | val | ) |
Definition at line 103 of file Diagnostics.cpp.
References Diagnostic(), and twineToStrRef().
| Diagnostic & Diagnostic::operator<< | ( | Operation & | op | ) |
Stream in an Operation.
Definition at line 137 of file Diagnostics.cpp.
References appendOp(), and Diagnostic().
|
inline |
Definition at line 204 of file Diagnostics.h.
References Diagnostic().
| Diagnostic & Diagnostic::operator<< | ( | OperationName | val | ) |
Stream in an OperationName.
Definition at line 118 of file Diagnostics.cpp.
References Diagnostic(), and mlir::OperationName::getStringRef().
| Diagnostic & Diagnostic::operator<< | ( | OpWithFlags | op | ) |
Definition at line 141 of file Diagnostics.cpp.
References appendOp(), Diagnostic(), mlir::OpWithFlags::flags(), and mlir::OpWithFlags::getOperation().
| Diagnostic & Diagnostic::operator<< | ( | StringAttr | val | ) |
Definition at line 112 of file Diagnostics.cpp.
References Diagnostic().
|
inline |
| Diagnostic & Diagnostic::operator<< | ( | Twine && | val | ) |
Definition at line 107 of file Diagnostics.cpp.
References Diagnostic(), and twineToStrRef().
| Diagnostic & Diagnostic::operator<< | ( | Value | val | ) |
Stream in a Value.
Definition at line 157 of file Diagnostics.cpp.
References adjustPrintingFlags(), Diagnostic(), mlir::Value::print(), and str().
|
default |
References Diagnostic().
| void Diagnostic::print | ( | raw_ostream & | os | ) | const |
Outputs this diagnostic to a stream.
Definition at line 165 of file Diagnostics.cpp.
References getArguments().
Referenced by mlirAffineExprPrint(), mlirAffineMapPrint(), mlirDiagnosticPrint(), mlirIntegerSetPrint(), and str().
| std::string Diagnostic::str | ( | ) | const |
Converts the diagnostic to a string.
Convert the diagnostic to a string.
Definition at line 171 of file Diagnostics.cpp.
References print(), and str().
Referenced by appendOp(), operator<<(), and str().