LLVM 22.0.0git
|
#include "llvm/Demangle/Utility.h"
Public Member Functions | |
OutputBuffer (char *StartBuf, size_t Size) | |
OutputBuffer (char *StartBuf, size_t *SizePtr) | |
OutputBuffer ()=default | |
OutputBuffer (const OutputBuffer &)=delete | |
OutputBuffer & | operator= (const OutputBuffer &)=delete |
virtual | ~OutputBuffer () |
operator std::string_view () const | |
virtual void | printLeft (const Node &N) |
Called by the demangler when printing the demangle tree. | |
virtual void | printRight (const Node &N) |
virtual void | notifyInsertion (size_t, size_t) |
Called when we write to this object anywhere other than the end. | |
virtual void | notifyDeletion (size_t, size_t) |
Called when we make the CurrentPosition of this object smaller. | |
bool | isGtInsideTemplateArgs () const |
void | printOpen (char Open='(') |
void | printClose (char Close=')') |
OutputBuffer & | operator+= (std::string_view R) |
OutputBuffer & | operator+= (char C) |
OutputBuffer & | prepend (std::string_view R) |
OutputBuffer & | operator<< (std::string_view R) |
OutputBuffer & | operator<< (char C) |
OutputBuffer & | operator<< (long long N) |
OutputBuffer & | operator<< (unsigned long long N) |
OutputBuffer & | operator<< (long N) |
OutputBuffer & | operator<< (unsigned long N) |
OutputBuffer & | operator<< (int N) |
OutputBuffer & | operator<< (unsigned int N) |
void | insert (size_t Pos, const char *S, size_t N) |
size_t | getCurrentPosition () const |
void | setCurrentPosition (size_t NewPos) |
char | back () const |
bool | empty () const |
char * | getBuffer () |
char * | getBufferEnd () |
size_t | getBufferCapacity () const |
Public Attributes | |
unsigned | CurrentPackIndex = std::numeric_limits<unsigned>::max() |
If a ParameterPackExpansion (or similar type) is encountered, the offset into the pack that we're currently printing. | |
unsigned | CurrentPackMax = std::numeric_limits<unsigned>::max() |
unsigned | GtIsGt = 1 |
When zero, we're printing template args and '>' needs to be parenthesized. |
|
inline |
Definition at line 75 of file Utility.h.
References Size.
Referenced by operator+=(), operator+=(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator=(), OutputBuffer(), OutputBuffer(), and prepend().
|
inline |
Definition at line 77 of file Utility.h.
References OutputBuffer().
|
default |
|
delete |
References OutputBuffer().
|
inline |
Definition at line 199 of file Utility.h.
References DEMANGLE_ASSERT.
|
inline |
Definition at line 206 of file Utility.h.
Referenced by llvm::dlangDemangle(), removeNullBytes(), and llvm::ThinLTOCodeGenerator::writeGeneratedObject().
|
inline |
Definition at line 193 of file Utility.h.
Referenced by decodePunycode(), llvm::dlangDemangle(), and removeNullBytes().
Definition at line 180 of file Utility.h.
References DEMANGLE_ASSERT, N, and notifyInsertion().
Referenced by decodePunycode().
|
inline |
|
inlinevirtual |
Called when we make the CurrentPosition
of this object smaller.
Definition at line 100 of file Utility.h.
Referenced by setCurrentPosition().
|
inlinevirtual |
|
inline |
Definition at line 131 of file Utility.h.
References C(), and OutputBuffer().
|
inline |
Definition at line 122 of file Utility.h.
References OutputBuffer(), and Size.
|
inline |
Definition at line 154 of file Utility.h.
References C(), and OutputBuffer().
|
inline |
Definition at line 172 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 156 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 164 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 152 of file Utility.h.
References OutputBuffer().
|
inline |
Definition at line 176 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 160 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 168 of file Utility.h.
References N, and OutputBuffer().
|
delete |
References OutputBuffer().
|
inline |
Definition at line 137 of file Utility.h.
References notifyInsertion(), OutputBuffer(), and Size.
|
inline |
Called by the demangler when printing the demangle tree.
By default calls into Node::print{Left|Right}
but can be overriden by clients to track additional state when printing the demangled name.
Definition at line 6200 of file ItaniumDemangle.h.
References N.
|
inline |
Definition at line 6202 of file ItaniumDemangle.h.
References N.
|
inline |
Definition at line 194 of file Utility.h.
References notifyDeletion().
Referenced by llvm::dlangDemangle(), and removeNullBytes().
If a ParameterPackExpansion (or similar type) is encountered, the offset into the pack that we're currently printing.
unsigned OutputBuffer::GtIsGt = 1 |
When zero, we're printing template args and '>' needs to be parenthesized.
Use a counter so we can simply increment inside parentheses.
Definition at line 109 of file Utility.h.
Referenced by isGtInsideTemplateArgs(), printClose(), and printOpen().