LLVM 20.0.0git
Public Member Functions | Friends | List of all members
llvm::pdb::LinePrinter Class Reference

#include "llvm/DebugInfo/PDB/Native/LinePrinter.h"

Public Member Functions

 LinePrinter (int Indent, bool UseColor, raw_ostream &Stream, const FilterOptions &Filters)
 
void Indent (uint32_t Amount=0)
 
void Unindent (uint32_t Amount=0)
 
void NewLine ()
 
void printLine (const Twine &T)
 
void print (const Twine &T)
 
template<typename... Ts>
void formatLine (const char *Fmt, Ts &&...Items)
 
template<typename... Ts>
void format (const char *Fmt, Ts &&...Items)
 
void formatBinary (StringRef Label, ArrayRef< uint8_t > Data, uint64_t StartOffset)
 
void formatBinary (StringRef Label, ArrayRef< uint8_t > Data, uint64_t BaseAddr, uint64_t StartOffset)
 
void formatMsfStreamData (StringRef Label, PDBFile &File, uint32_t StreamIdx, StringRef StreamPurpose, uint64_t Offset, uint64_t Size)
 
void formatMsfStreamData (StringRef Label, PDBFile &File, const msf::MSFStreamLayout &Stream, BinarySubstreamRef Substream)
 
void formatMsfStreamBlocks (PDBFile &File, const msf::MSFStreamLayout &Stream)
 
bool hasColor () const
 
raw_ostreamgetStream ()
 
int getIndentLevel () const
 
bool IsClassExcluded (const ClassLayout &Class)
 
bool IsTypeExcluded (llvm::StringRef TypeName, uint64_t Size)
 
bool IsSymbolExcluded (llvm::StringRef SymbolName)
 
bool IsCompilandExcluded (llvm::StringRef CompilandName)
 
const FilterOptionsgetFilters () const
 

Friends

class WithColor
 

Detailed Description

Definition at line 50 of file LinePrinter.h.

Constructor & Destructor Documentation

◆ LinePrinter()

LinePrinter::LinePrinter ( int  Indent,
bool  UseColor,
llvm::raw_ostream Stream,
const FilterOptions Filters 
)

Member Function Documentation

◆ format()

template<typename... Ts>
void llvm::pdb::LinePrinter::format ( const char Fmt,
Ts &&...  Items 
)
inline

Definition at line 66 of file LinePrinter.h.

References llvm::formatv(), and print().

◆ formatBinary() [1/2]

void LinePrinter::formatBinary ( StringRef  Label,
ArrayRef< uint8_t Data,
uint64_t  BaseAddr,
uint64_t  StartOffset 
)

◆ formatBinary() [2/2]

void LinePrinter::formatBinary ( StringRef  Label,
ArrayRef< uint8_t Data,
uint64_t  StartOffset 
)

◆ formatLine()

template<typename... Ts>
void llvm::pdb::LinePrinter::formatLine ( const char Fmt,
Ts &&...  Items 
)
inline

Definition at line 63 of file LinePrinter.h.

References llvm::formatv(), and printLine().

Referenced by formatMsfStreamData(), and llvm::pdb::iterateOneModule().

◆ formatMsfStreamBlocks()

void LinePrinter::formatMsfStreamBlocks ( PDBFile File,
const msf::MSFStreamLayout Stream 
)

◆ formatMsfStreamData() [1/2]

void LinePrinter::formatMsfStreamData ( StringRef  Label,
PDBFile File,
const msf::MSFStreamLayout Stream,
BinarySubstreamRef  Substream 
)

◆ formatMsfStreamData() [2/2]

void LinePrinter::formatMsfStreamData ( StringRef  Label,
PDBFile File,
uint32_t  StreamIdx,
StringRef  StreamPurpose,
uint64_t  Offset,
uint64_t  Size 
)

◆ getFilters()

const FilterOptions & llvm::pdb::LinePrinter::getFilters ( ) const
inline

Definition at line 92 of file LinePrinter.h.

Referenced by llvm::pdb::iterateSymbolGroups().

◆ getIndentLevel()

int llvm::pdb::LinePrinter::getIndentLevel ( ) const
inline

Definition at line 85 of file LinePrinter.h.

◆ getStream()

raw_ostream & llvm::pdb::LinePrinter::getStream ( )
inline

Definition at line 84 of file LinePrinter.h.

References OS.

◆ hasColor()

bool llvm::pdb::LinePrinter::hasColor ( ) const
inline

Definition at line 83 of file LinePrinter.h.

References UseColor.

◆ Indent()

void LinePrinter::Indent ( uint32_t  Amount = 0)

Definition at line 74 of file LinePrinter.cpp.

Referenced by llvm::pdb::AutoIndent::AutoIndent(), and formatMsfStreamData().

◆ IsClassExcluded()

bool LinePrinter::IsClassExcluded ( const ClassLayout Class)

◆ IsCompilandExcluded()

bool LinePrinter::IsCompilandExcluded ( llvm::StringRef  CompilandName)

Definition at line 288 of file LinePrinter.cpp.

◆ IsSymbolExcluded()

bool LinePrinter::IsSymbolExcluded ( llvm::StringRef  SymbolName)

Definition at line 284 of file LinePrinter.cpp.

◆ IsTypeExcluded()

bool LinePrinter::IsTypeExcluded ( llvm::StringRef  TypeName,
uint64_t  Size 
)

Definition at line 276 of file LinePrinter.cpp.

References Size, and FilterOptions::SizeThreshold.

Referenced by IsClassExcluded().

◆ NewLine()

void LinePrinter::NewLine ( )

◆ print()

void LinePrinter::print ( const Twine T)

Definition at line 91 of file LinePrinter.cpp.

Referenced by format().

◆ printLine()

void LinePrinter::printLine ( const Twine T)

Definition at line 93 of file LinePrinter.cpp.

References NewLine().

Referenced by formatLine().

◆ Unindent()

void LinePrinter::Unindent ( uint32_t  Amount = 0)

Definition at line 80 of file LinePrinter.cpp.

Referenced by llvm::pdb::AutoIndent::~AutoIndent().

Friends And Related Function Documentation

◆ WithColor

friend class WithColor
friend

Definition at line 51 of file LinePrinter.h.


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