Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::ScopedPrinter Class Reference

#include "llvm/Support/ScopedPrinter.h"

Inheritance diagram for llvm::ScopedPrinter:
[legend]

Public Types

enum class  ScopedPrinterKind { Base , JSON }

Public Member Functions

 ScopedPrinter (raw_ostream &OS, ScopedPrinterKind Kind=ScopedPrinterKind::Base)
ScopedPrinterKind getKind () const
virtual ~ScopedPrinter ()=default
void flush ()
void indent (int Levels=1)
void unindent (int Levels=1)
void resetIndent ()
int getIndentLevel ()
void setPrefix (StringRef P)
void printIndent ()
template<typename T>
HexNumber hex (T Value)
template<typename T, typename TEnum>
void printEnum (StringRef Label, T Value, ArrayRef< EnumEntry< TEnum > > EnumValues)
template<typename T, typename TFlag>
void printFlags (StringRef Label, T Value, ArrayRef< EnumEntry< TFlag > > Flags, TFlag EnumMask1={}, TFlag EnumMask2={}, TFlag EnumMask3={}, ArrayRef< FlagEntry > ExtraFlags={})
template<typename T>
void printFlags (StringRef Label, T Value)
virtual void printNumber (StringRef Label, char Value)
virtual void printNumber (StringRef Label, signed char Value)
virtual void printNumber (StringRef Label, unsigned char Value)
virtual void printNumber (StringRef Label, short Value)
virtual void printNumber (StringRef Label, unsigned short Value)
virtual void printNumber (StringRef Label, int Value)
virtual void printNumber (StringRef Label, unsigned int Value)
virtual void printNumber (StringRef Label, long Value)
virtual void printNumber (StringRef Label, unsigned long Value)
virtual void printNumber (StringRef Label, long long Value)
virtual void printNumber (StringRef Label, unsigned long long Value)
virtual void printNumber (StringRef Label, const APSInt &Value)
virtual void printNumber (StringRef Label, float Value)
virtual void printNumber (StringRef Label, double Value)
template<typename T>
void printNumber (StringRef Label, StringRef Str, T Value)
virtual void printBoolean (StringRef Label, bool Value)
template<typename... T>
void printVersion (StringRef Label, T... Version)
template<typename T>
void printList (StringRef Label, const ArrayRef< T > List)
virtual void printList (StringRef Label, const ArrayRef< bool > List)
virtual void printList (StringRef Label, const ArrayRef< std::string > List)
virtual void printList (StringRef Label, const ArrayRef< uint64_t > List)
virtual void printList (StringRef Label, const ArrayRef< uint32_t > List)
virtual void printList (StringRef Label, const ArrayRef< uint16_t > List)
virtual void printList (StringRef Label, const ArrayRef< uint8_t > List)
virtual void printList (StringRef Label, const ArrayRef< int64_t > List)
virtual void printList (StringRef Label, const ArrayRef< int32_t > List)
virtual void printList (StringRef Label, const ArrayRef< int16_t > List)
virtual void printList (StringRef Label, const ArrayRef< int8_t > List)
virtual void printList (StringRef Label, const ArrayRef< APSInt > List)
template<typename T, typename U>
void printList (StringRef Label, const T &List, const U &Printer)
template<typename T>
void printHexList (StringRef Label, const T &List)
template<typename T>
void printHex (StringRef Label, T Value)
template<typename T>
void printHex (StringRef Label, StringRef Str, T Value)
template<typename T>
void printSymbolOffset (StringRef Label, StringRef Symbol, T Value)
virtual void printString (StringRef Value)
virtual void printString (StringRef Label, StringRef Value)
void printStringEscaped (StringRef Label, StringRef Value)
void printBinary (StringRef Label, StringRef Str, ArrayRef< uint8_t > Value)
void printBinary (StringRef Label, StringRef Str, ArrayRef< char > Value)
void printBinary (StringRef Label, ArrayRef< uint8_t > Value)
void printBinary (StringRef Label, ArrayRef< char > Value)
void printBinary (StringRef Label, StringRef Value)
void printBinaryBlock (StringRef Label, ArrayRef< uint8_t > Value, uint32_t StartOffset)
void printBinaryBlock (StringRef Label, ArrayRef< uint8_t > Value)
void printBinaryBlock (StringRef Label, StringRef Value)
template<typename T>
void printObject (StringRef Label, const T &Value)
virtual void objectBegin ()
virtual void objectBegin (StringRef Label)
virtual void objectEnd ()
virtual void arrayBegin ()
virtual void arrayBegin (StringRef Label)
virtual void arrayEnd ()
virtual raw_ostreamstartLine ()
virtual raw_ostreamgetOStream ()

Static Public Member Functions

static bool classof (const ScopedPrinter *SP)

Detailed Description

Definition at line 121 of file ScopedPrinter.h.

Member Enumeration Documentation

◆ ScopedPrinterKind

Enumerator
Base 
JSON 

Definition at line 123 of file ScopedPrinter.h.

Constructor & Destructor Documentation

◆ ScopedPrinter()

llvm::ScopedPrinter::ScopedPrinter ( raw_ostream & OS,
ScopedPrinterKind Kind = ScopedPrinterKind::Base )
inline

◆ ~ScopedPrinter()

virtual llvm::ScopedPrinter::~ScopedPrinter ( )
virtualdefault

Member Function Documentation

◆ arrayBegin() [1/2]

virtual void llvm::ScopedPrinter::arrayBegin ( )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 443 of file ScopedPrinter.h.

◆ arrayBegin() [2/2]

virtual void llvm::ScopedPrinter::arrayBegin ( StringRef Label)
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 445 of file ScopedPrinter.h.

◆ arrayEnd()

virtual void llvm::ScopedPrinter::arrayEnd ( )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 447 of file ScopedPrinter.h.

◆ classof()

bool llvm::ScopedPrinter::classof ( const ScopedPrinter * SP)
inlinestatic

Definition at line 134 of file ScopedPrinter.h.

References Base, and ScopedPrinter().

◆ flush()

void llvm::ScopedPrinter::flush ( )
inline

Definition at line 140 of file ScopedPrinter.h.

◆ getIndentLevel()

int llvm::ScopedPrinter::getIndentLevel ( )
inline

Definition at line 150 of file ScopedPrinter.h.

◆ getKind()

ScopedPrinterKind llvm::ScopedPrinter::getKind ( ) const
inline

Definition at line 132 of file ScopedPrinter.h.

◆ getOStream()

virtual raw_ostream & llvm::ScopedPrinter::getOStream ( )
inlinevirtual

Definition at line 454 of file ScopedPrinter.h.

Referenced by printVersion().

◆ hex()

template<typename T>
HexNumber llvm::ScopedPrinter::hex ( T Value)
inline

Definition at line 160 of file ScopedPrinter.h.

References T.

Referenced by printFlags(), printHex(), printHex(), and printSymbolOffset().

◆ indent()

void llvm::ScopedPrinter::indent ( int Levels = 1)
inline

Definition at line 142 of file ScopedPrinter.h.

◆ objectBegin() [1/2]

virtual void llvm::ScopedPrinter::objectBegin ( )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 437 of file ScopedPrinter.h.

◆ objectBegin() [2/2]

virtual void llvm::ScopedPrinter::objectBegin ( StringRef Label)
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 439 of file ScopedPrinter.h.

◆ objectEnd()

virtual void llvm::ScopedPrinter::objectEnd ( )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 441 of file ScopedPrinter.h.

◆ printBinary() [1/5]

void llvm::ScopedPrinter::printBinary ( StringRef Label,
ArrayRef< char > Value )
inline

Definition at line 406 of file ScopedPrinter.h.

◆ printBinary() [2/5]

void llvm::ScopedPrinter::printBinary ( StringRef Label,
ArrayRef< uint8_t > Value )
inline

Definition at line 402 of file ScopedPrinter.h.

◆ printBinary() [3/5]

void llvm::ScopedPrinter::printBinary ( StringRef Label,
StringRef Str,
ArrayRef< char > Value )
inline

Definition at line 396 of file ScopedPrinter.h.

◆ printBinary() [4/5]

void llvm::ScopedPrinter::printBinary ( StringRef Label,
StringRef Str,
ArrayRef< uint8_t > Value )
inline

Definition at line 392 of file ScopedPrinter.h.

◆ printBinary() [5/5]

void llvm::ScopedPrinter::printBinary ( StringRef Label,
StringRef Value )
inline

Definition at line 412 of file ScopedPrinter.h.

◆ printBinaryBlock() [1/3]

void llvm::ScopedPrinter::printBinaryBlock ( StringRef Label,
ArrayRef< uint8_t > Value )
inline

Definition at line 423 of file ScopedPrinter.h.

◆ printBinaryBlock() [2/3]

void llvm::ScopedPrinter::printBinaryBlock ( StringRef Label,
ArrayRef< uint8_t > Value,
uint32_t StartOffset )
inline

Definition at line 418 of file ScopedPrinter.h.

◆ printBinaryBlock() [3/3]

void llvm::ScopedPrinter::printBinaryBlock ( StringRef Label,
StringRef Value )
inline

Definition at line 427 of file ScopedPrinter.h.

◆ printBoolean()

virtual void llvm::ScopedPrinter::printBoolean ( StringRef Label,
bool Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 283 of file ScopedPrinter.h.

References startLine().

◆ printEnum()

template<typename T, typename TEnum>
void llvm::ScopedPrinter::printEnum ( StringRef Label,
T Value,
ArrayRef< EnumEntry< TEnum > > EnumValues )
inline

Definition at line 163 of file ScopedPrinter.h.

References printHex(), and T.

◆ printFlags() [1/2]

template<typename T>
void llvm::ScopedPrinter::printFlags ( StringRef Label,
T Value )
inline

Definition at line 209 of file ScopedPrinter.h.

References llvm::SmallVectorImpl< T >::emplace_back(), hex(), and T.

◆ printFlags() [2/2]

template<typename T, typename TFlag>
void llvm::ScopedPrinter::printFlags ( StringRef Label,
T Value,
ArrayRef< EnumEntry< TFlag > > Flags,
TFlag EnumMask1 = {},
TFlag EnumMask2 = {},
TFlag EnumMask3 = {},
ArrayRef< FlagEntry > ExtraFlags = {} )
inline

Definition at line 182 of file ScopedPrinter.h.

References T.

◆ printHex() [1/2]

template<typename T>
void llvm::ScopedPrinter::printHex ( StringRef Label,
StringRef Str,
T Value )
inline

Definition at line 373 of file ScopedPrinter.h.

References hex(), and T.

◆ printHex() [2/2]

template<typename T>
void llvm::ScopedPrinter::printHex ( StringRef Label,
T Value )
inline

Definition at line 369 of file ScopedPrinter.h.

References hex(), and T.

Referenced by printEnum(), and llvm::ScopedPrinter::printHex< support::ulittle16_t >().

◆ printHexList()

template<typename T>
void llvm::ScopedPrinter::printHexList ( StringRef Label,
const T & List )
inline

Definition at line 362 of file ScopedPrinter.h.

References llvm::SmallVectorImpl< T >::emplace_back(), llvm::List, and T.

◆ printIndent()

void llvm::ScopedPrinter::printIndent ( )
inline

Definition at line 154 of file ScopedPrinter.h.

Referenced by startLine().

◆ printList() [1/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< APSInt > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 347 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [2/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< bool > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 301 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [3/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< int16_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 336 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [4/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< int32_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 332 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [5/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< int64_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 328 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [6/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< int8_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 340 of file ScopedPrinter.h.

References llvm::SmallVectorImpl< T >::emplace_back(), and llvm::List.

◆ printList() [7/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< std::string > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 305 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [8/13]

template<typename T>
void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< T > List )
inline

◆ printList() [9/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< uint16_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 317 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [10/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< uint32_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 313 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [11/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< uint64_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 309 of file ScopedPrinter.h.

References llvm::List.

◆ printList() [12/13]

virtual void llvm::ScopedPrinter::printList ( StringRef Label,
const ArrayRef< uint8_t > List )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 321 of file ScopedPrinter.h.

References llvm::SmallVectorImpl< T >::emplace_back(), and llvm::List.

◆ printList() [13/13]

template<typename T, typename U>
void llvm::ScopedPrinter::printList ( StringRef Label,
const T & List,
const U & Printer )
inline

Definition at line 352 of file ScopedPrinter.h.

References llvm::List, Printer, startLine(), and T.

◆ printNumber() [1/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
char Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 222 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [2/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
const APSInt & Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 266 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [3/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
double Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 274 of file ScopedPrinter.h.

References llvm::format(), and startLine().

◆ printNumber() [4/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
float Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 270 of file ScopedPrinter.h.

References llvm::format(), and startLine().

◆ printNumber() [5/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
int Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 242 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [6/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
long long Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 258 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [7/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
long Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 250 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [8/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
short Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 234 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [9/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
signed char Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 226 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [10/15]

template<typename T>
void llvm::ScopedPrinter::printNumber ( StringRef Label,
StringRef Str,
T Value )
inline

Definition at line 279 of file ScopedPrinter.h.

References T, and llvm::to_string().

◆ printNumber() [11/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
unsigned char Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 230 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [12/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
unsigned int Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 246 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [13/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
unsigned long long Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 262 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [14/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
unsigned long Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 254 of file ScopedPrinter.h.

References startLine().

◆ printNumber() [15/15]

virtual void llvm::ScopedPrinter::printNumber ( StringRef Label,
unsigned short Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 238 of file ScopedPrinter.h.

References startLine().

◆ printObject()

template<typename T>
void llvm::ScopedPrinter::printObject ( StringRef Label,
const T & Value )
inline

Definition at line 433 of file ScopedPrinter.h.

References printString(), T, and llvm::to_string().

◆ printString() [1/2]

virtual void llvm::ScopedPrinter::printString ( StringRef Label,
StringRef Value )
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 384 of file ScopedPrinter.h.

References startLine().

◆ printString() [2/2]

virtual void llvm::ScopedPrinter::printString ( StringRef Value)
inlinevirtual

Reimplemented in llvm::JSONScopedPrinter.

Definition at line 382 of file ScopedPrinter.h.

References startLine().

Referenced by printObject().

◆ printStringEscaped()

void llvm::ScopedPrinter::printStringEscaped ( StringRef Label,
StringRef Value )
inline

Definition at line 388 of file ScopedPrinter.h.

◆ printSymbolOffset()

template<typename T>
void llvm::ScopedPrinter::printSymbolOffset ( StringRef Label,
StringRef Symbol,
T Value )
inline

Definition at line 378 of file ScopedPrinter.h.

References hex(), and T.

◆ printVersion()

template<typename... T>
void llvm::ScopedPrinter::printVersion ( StringRef Label,
T... Version )
inline

Definition at line 287 of file ScopedPrinter.h.

References getOStream(), startLine(), T, and llvm::Version.

◆ resetIndent()

void llvm::ScopedPrinter::resetIndent ( )
inline

Definition at line 148 of file ScopedPrinter.h.

◆ setPrefix()

void llvm::ScopedPrinter::setPrefix ( StringRef P)
inline

Definition at line 152 of file ScopedPrinter.h.

References P.

◆ startLine()

◆ unindent()

void llvm::ScopedPrinter::unindent ( int Levels = 1)
inline

Definition at line 144 of file ScopedPrinter.h.


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