MLIR 22.0.0git
mlir::SourceMgrDiagnosticVerifierHandler Class Reference

This class is a utility diagnostic handler for use with llvm::SourceMgr that verifies that emitted diagnostics match 'expected-*' lines on the corresponding line of the source file. More...

#include "mlir/IR/Diagnostics.h"

Inheritance diagram for mlir::SourceMgrDiagnosticVerifierHandler:

Public Types

enum class  Level { None = 0 , All , OnlyExpected }
Public Types inherited from mlir::SourceMgrDiagnosticHandler
using ShouldShowLocFn = llvm::unique_function<bool(Location)>
 This type represents a functor used to filter out locations when printing a diagnostic.

Public Member Functions

 SourceMgrDiagnosticVerifierHandler (llvm::SourceMgr &srcMgr, MLIRContext *ctx, raw_ostream &out, Level level=Level::All)
 SourceMgrDiagnosticVerifierHandler (llvm::SourceMgr &srcMgr, MLIRContext *ctx, Level level=Level::All)
 ~SourceMgrDiagnosticVerifierHandler ()
LogicalResult verify ()
 Returns the status of the handler and verifies that all expected diagnostics were emitted.
void registerInContext (MLIRContext *ctx)
 Register this handler with the given context.
Public Member Functions inherited from mlir::SourceMgrDiagnosticHandler
 SourceMgrDiagnosticHandler (llvm::SourceMgr &mgr, MLIRContext *ctx, raw_ostream &os, ShouldShowLocFn &&shouldShowLocFn={})
 SourceMgrDiagnosticHandler (llvm::SourceMgr &mgr, MLIRContext *ctx, ShouldShowLocFn &&shouldShowLocFn={})
 ~SourceMgrDiagnosticHandler ()
void emitDiagnostic (Location loc, Twine message, DiagnosticSeverity kind, bool displaySourceLine=true)
 Emit the given diagnostic information with the held source manager.
void setCallStackLimit (unsigned limit)
 Set the maximum depth that a call stack will be printed. Defaults to 10.
Public Member Functions inherited from mlir::ScopedDiagnosticHandler
 ScopedDiagnosticHandler (MLIRContext *ctx)
template<typename FuncTy>
 ScopedDiagnosticHandler (MLIRContext *ctx, FuncTy &&handler)
 ~ScopedDiagnosticHandler ()

Additional Inherited Members

Protected Member Functions inherited from mlir::SourceMgrDiagnosticHandler
void emitDiagnostic (Diagnostic &diag)
 Emit the given diagnostic with the held source manager.
const llvm::MemoryBuffer * getBufferForFile (StringRef filename)
 Get a memory buffer for the given file, or nullptr if no file is available.
Protected Member Functions inherited from mlir::ScopedDiagnosticHandler
template<typename FuncTy>
void setHandler (FuncTy &&handler)
 Set the handler to manage via RAII.
Protected Attributes inherited from mlir::SourceMgrDiagnosticHandler
llvm::SourceMgr & mgr
 The source manager that we are wrapping.
raw_ostreamos
 The output stream to use when printing diagnostics.
ShouldShowLocFn shouldShowLocFn
 A functor used when determining if a location for a diagnostic should be shown.

Detailed Description

This class is a utility diagnostic handler for use with llvm::SourceMgr that verifies that emitted diagnostics match 'expected-*' lines on the corresponding line of the source file.

Definition at line 629 of file Diagnostics.h.

Member Enumeration Documentation

◆ Level

Enumerator
None 
All 
OnlyExpected 

Definition at line 631 of file Diagnostics.h.

Constructor & Destructor Documentation

◆ SourceMgrDiagnosticVerifierHandler() [1/2]

SourceMgrDiagnosticVerifierHandler::SourceMgrDiagnosticVerifierHandler ( llvm::SourceMgr & srcMgr,
MLIRContext * ctx,
raw_ostream & out,
Level level = Level::All )

◆ SourceMgrDiagnosticVerifierHandler() [2/2]

SourceMgrDiagnosticVerifierHandler::SourceMgrDiagnosticVerifierHandler ( llvm::SourceMgr & srcMgr,
MLIRContext * ctx,
Level level = Level::All )

Definition at line 831 of file Diagnostics.cpp.

References SourceMgrDiagnosticVerifierHandler().

◆ ~SourceMgrDiagnosticVerifierHandler()

SourceMgrDiagnosticVerifierHandler::~SourceMgrDiagnosticVerifierHandler ( )

Definition at line 835 of file Diagnostics.cpp.

References verify().

Member Function Documentation

◆ registerInContext()

void SourceMgrDiagnosticVerifierHandler::registerInContext ( MLIRContext * ctx)

Register this handler with the given context.

This is intended for use with the splitAndProcessBuffer function.

Definition at line 861 of file Diagnostics.cpp.

References diag().

Referenced by processBuffer(), and SourceMgrDiagnosticVerifierHandler().

◆ verify()

LogicalResult SourceMgrDiagnosticVerifierHandler::verify ( )

Returns the status of the handler and verifies that all expected diagnostics were emitted.

Returns the status of the verifier and verifies that all expected diagnostics were emitted.

This return success if all diagnostics were verified correctly, failure otherwise.

Definition at line 843 of file Diagnostics.cpp.

References getDiagKindStr(), mlir::SourceMgrDiagnosticHandler::mgr, and mlir::SourceMgrDiagnosticHandler::os.

Referenced by mlir::MlirOptMain(), and ~SourceMgrDiagnosticVerifierHandler().


The documentation for this class was generated from the following files: