MLIR
20.0.0git
|
Go to the source code of this file.
Classes | |
struct | MlirDiagnostic |
An opaque reference to a diagnostic, always owned by the diagnostics engine (context). More... | |
Typedefs | |
typedef struct MlirDiagnostic | MlirDiagnostic |
typedef enum MlirDiagnosticSeverity | MlirDiagnosticSeverity |
typedef uint64_t | MlirDiagnosticHandlerID |
Opaque identifier of a diagnostic handler, useful to detach a handler. More... | |
typedef MlirLogicalResult(* | MlirDiagnosticHandler) (MlirDiagnostic, void *userData) |
Diagnostic handler type. More... | |
Enumerations | |
enum | MlirDiagnosticSeverity { MlirDiagnosticError , MlirDiagnosticWarning , MlirDiagnosticNote , MlirDiagnosticRemark } |
Severity of a diagnostic. More... | |
Functions | |
MLIR_CAPI_EXPORTED void | mlirDiagnosticPrint (MlirDiagnostic diagnostic, MlirStringCallback callback, void *userData) |
Prints a diagnostic using the provided callback. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirDiagnosticGetLocation (MlirDiagnostic diagnostic) |
Returns the location at which the diagnostic is reported. More... | |
MLIR_CAPI_EXPORTED MlirDiagnosticSeverity | mlirDiagnosticGetSeverity (MlirDiagnostic diagnostic) |
Returns the severity of the diagnostic. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirDiagnosticGetNumNotes (MlirDiagnostic diagnostic) |
Returns the number of notes attached to the diagnostic. More... | |
MLIR_CAPI_EXPORTED MlirDiagnostic | mlirDiagnosticGetNote (MlirDiagnostic diagnostic, intptr_t pos) |
Returns pos -th note attached to the diagnostic. More... | |
MLIR_CAPI_EXPORTED MlirDiagnosticHandlerID | mlirContextAttachDiagnosticHandler (MlirContext context, MlirDiagnosticHandler handler, void *userData, void(*deleteUserData)(void *)) |
Attaches the diagnostic handler to the context. More... | |
MLIR_CAPI_EXPORTED void | mlirContextDetachDiagnosticHandler (MlirContext context, MlirDiagnosticHandlerID id) |
Detaches an attached diagnostic handler from the context given its identifier. More... | |
MLIR_CAPI_EXPORTED void | mlirEmitError (MlirLocation location, const char *message) |
Emits an error at the given location through the diagnostics engine. More... | |
typedef struct MlirDiagnostic MlirDiagnostic |
Definition at line 1 of file Diagnostics.h.
typedef MlirLogicalResult(* MlirDiagnosticHandler) (MlirDiagnostic, void *userData) |
Diagnostic handler type.
Accepts a reference to a diagnostic, which is only guaranteed to be live during the call. The handler is passed the userData
that was provided when the handler was attached to a context. If the handler processed the diagnostic completely, it is expected to return success. Otherwise, it is expected to return failure to indicate that other handlers should attempt to process the diagnostic.
Definition at line 49 of file Diagnostics.h.
typedef uint64_t MlirDiagnosticHandlerID |
Opaque identifier of a diagnostic handler, useful to detach a handler.
Definition at line 41 of file Diagnostics.h.
typedef enum MlirDiagnosticSeverity MlirDiagnosticSeverity |
Definition at line 1 of file Diagnostics.h.
Severity of a diagnostic.
Enumerator | |
---|---|
MlirDiagnosticError | |
MlirDiagnosticWarning | |
MlirDiagnosticNote | |
MlirDiagnosticRemark |
Definition at line 32 of file Diagnostics.h.
MLIR_CAPI_EXPORTED MlirDiagnosticHandlerID mlirContextAttachDiagnosticHandler | ( | MlirContext | context, |
MlirDiagnosticHandler | handler, | ||
void * | userData, | ||
void(*)(void *) | deleteUserData | ||
) |
Attaches the diagnostic handler to the context.
Handlers are invoked in the reverse order of attachment until one of them processes the diagnostic completely. When a handler is invoked it is passed the userData
that was provided when it was attached. If non-NULL, deleteUserData
is called once the system no longer needs to call the handler (for instance after the handler is detached or the context is destroyed). Returns an identifier that can be used to detach the handler.
Definition at line 56 of file Diagnostics.cpp.
References deleteUserDataNoop(), unwrap(), and wrap().
Referenced by mlir::python::PyMlirContext::attachDiagnosticHandler(), and mlir::python::CollectDiagnosticsToStringScope::CollectDiagnosticsToStringScope().
MLIR_CAPI_EXPORTED void mlirContextDetachDiagnosticHandler | ( | MlirContext | context, |
MlirDiagnosticHandlerID | id | ||
) |
Detaches an attached diagnostic handler from the context given its identifier.
Definition at line 72 of file Diagnostics.cpp.
References unwrap().
Referenced by mlir::python::PyDiagnosticHandler::detach(), mlir::python::CollectDiagnosticsToStringScope::~CollectDiagnosticsToStringScope(), and mlir::python::PyMlirContext::ErrorCapture::~ErrorCapture().
MLIR_CAPI_EXPORTED MlirLocation mlirDiagnosticGetLocation | ( | MlirDiagnostic | diagnostic | ) |
Returns the location at which the diagnostic is reported.
Definition at line 24 of file Diagnostics.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyDiagnostic::getLocation().
MLIR_CAPI_EXPORTED MlirDiagnostic mlirDiagnosticGetNote | ( | MlirDiagnostic | diagnostic, |
intptr_t | pos | ||
) |
Returns pos
-th note attached to the diagnostic.
Expects pos
to be a valid zero-based index into the list of notes.
Definition at line 50 of file Diagnostics.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyDiagnostic::getNotes().
MLIR_CAPI_EXPORTED intptr_t mlirDiagnosticGetNumNotes | ( | MlirDiagnostic | diagnostic | ) |
Returns the number of notes attached to the diagnostic.
Definition at line 44 of file Diagnostics.cpp.
References unwrap().
Referenced by mlir::python::PyDiagnostic::getNotes().
MLIR_CAPI_EXPORTED MlirDiagnosticSeverity mlirDiagnosticGetSeverity | ( | MlirDiagnostic | diagnostic | ) |
Returns the severity of the diagnostic.
Definition at line 28 of file Diagnostics.cpp.
References mlir::Error, MlirDiagnosticError, MlirDiagnosticNote, MlirDiagnosticRemark, MlirDiagnosticWarning, mlir::Note, mlir::Remark, unwrap(), and mlir::Warning.
Referenced by mlir::python::PyDiagnostic::getSeverity().
MLIR_CAPI_EXPORTED void mlirDiagnosticPrint | ( | MlirDiagnostic | diagnostic, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints a diagnostic using the provided callback.
Definition at line 18 of file Diagnostics.cpp.
References mlir::Diagnostic::print(), and unwrap().
Referenced by mlir::python::PyDiagnostic::getMessage().
MLIR_CAPI_EXPORTED void mlirEmitError | ( | MlirLocation | location, |
const char * | message | ||
) |
Emits an error at the given location through the diagnostics engine.
Used for testing purposes.
Definition at line 78 of file Diagnostics.cpp.
References mlir::emitError(), and unwrap().