class SMDiagnostic

Declaration

class SMDiagnostic { /* full declaration omitted */ };

Description

Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a caret diagnostic.

Declared at: llvm/include/llvm/Support/SourceMgr.h:281

Member Variables

private const llvm::SourceMgr* SM = nullptr
private llvm::SMLoc Loc
private std::string Filename
private int LineNo = 0
private int ColumnNo = 0
private SourceMgr::DiagKind Kind = SourceMgr::DK_Error
private std::string Message
private std::string LineContents
private std::vector<std::pair<unsigned int, unsigned int>> Ranges
private SmallVector<llvm::SMFixIt, 4> FixIts

Method Overview

  • public SMDiagnostic()
  • public SMDiagnostic(llvm::StringRef filename, SourceMgr::DiagKind Knd, llvm::StringRef Msg)
  • public SMDiagnostic(const llvm::SourceMgr & sm, llvm::SMLoc L, llvm::StringRef FN, int Line, int Col, SourceMgr::DiagKind Kind, llvm::StringRef Msg, llvm::StringRef LineStr, ArrayRef<std::pair<unsigned int, unsigned int>> Ranges, ArrayRef<llvm::SMFixIt> FixIts = {})
  • public void addFixIt(const llvm::SMFixIt & Hint)
  • public int getColumnNo() const
  • public llvm::StringRef getFilename() const
  • public ArrayRef<llvm::SMFixIt> getFixIts() const
  • public SourceMgr::DiagKind getKind() const
  • public llvm::StringRef getLineContents() const
  • public int getLineNo() const
  • public llvm::SMLoc getLoc() const
  • public llvm::StringRef getMessage() const
  • public ArrayRef<std::pair<unsigned int, unsigned int>> getRanges() const
  • public const llvm::SourceMgr * getSourceMgr() const
  • public void print(const char * ProgName, llvm::raw_ostream & S, bool ShowColors = true, bool ShowKindLabel = true) const

Methods

SMDiagnostic()

Declared at: llvm/include/llvm/Support/SourceMgr.h:294

SMDiagnostic(llvm::StringRef filename,
             SourceMgr::DiagKind Knd,
             llvm::StringRef Msg)

Declared at: llvm/include/llvm/Support/SourceMgr.h:296

Parameters

llvm::StringRef filename
SourceMgr::DiagKind Knd
llvm::StringRef Msg

SMDiagnostic(
    const llvm::SourceMgr& sm,
    llvm::SMLoc L,
    llvm::StringRef FN,
    int Line,
    int Col,
    SourceMgr::DiagKind Kind,
    llvm::StringRef Msg,
    llvm::StringRef LineStr,
    ArrayRef<std::pair<unsigned int,
                       unsigned int>> Ranges,
    ArrayRef<llvm::SMFixIt> FixIts = {})

Declared at: llvm/include/llvm/Support/SourceMgr.h:300

Parameters

const llvm::SourceMgr& sm
llvm::SMLoc L
llvm::StringRef FN
int Line
int Col
SourceMgr::DiagKind Kind
llvm::StringRef Msg
llvm::StringRef LineStr
ArrayRef<std::pair<unsigned int, unsigned int>> Ranges
ArrayRef<llvm::SMFixIt> FixIts = {}

void addFixIt(const llvm::SMFixIt& Hint)

Declared at: llvm/include/llvm/Support/SourceMgr.h:315

Parameters

const llvm::SMFixIt& Hint

int getColumnNo() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:309

llvm::StringRef getFilename() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:307

ArrayRef<llvm::SMFixIt> getFixIts() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:317

SourceMgr::DiagKind getKind() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:310

llvm::StringRef getLineContents() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:312

int getLineNo() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:308

llvm::SMLoc getLoc() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:306

llvm::StringRef getMessage() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:311

ArrayRef<std::pair<unsigned int, unsigned int>>
getRanges() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:313

const llvm::SourceMgr* getSourceMgr() const

Declared at: llvm/include/llvm/Support/SourceMgr.h:305

void print(const char* ProgName,
           llvm::raw_ostream& S,
           bool ShowColors = true,
           bool ShowKindLabel = true) const

Declared at: llvm/include/llvm/Support/SourceMgr.h:319

Parameters

const char* ProgName
llvm::raw_ostream& S
bool ShowColors = true
bool ShowKindLabel = true