|
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 ()=default |
| 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 | isInParensInTemplateArgs () const |
| Returns true if we're currently between a '(' and ')' when printing template args. | |
| bool | isInsideTemplateArgs () const |
| Returns true if we're printing template args. | |
| 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() |
| struct { | |
| unsigned ParenDepth = 0 | |
| The depth of '(' and ')' inside the currently printed template arguments. More... | |
| bool InsideTemplate = false | |
| True if we're currently printing a template argument. More... | |
| } | TemplateTracker |
|
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().
|
virtualdefault |
|
inline |
Definition at line 213 of file Utility.h.
References DEMANGLE_ASSERT.
|
inline |
Definition at line 220 of file Utility.h.
Referenced by llvm::dlangDemangle(), removeNullBytes(), and llvm::ThinLTOCodeGenerator::writeGeneratedObject().
|
inline |
Definition at line 207 of file Utility.h.
Referenced by decodePunycode(), llvm::dlangDemangle(), and removeNullBytes().
Definition at line 194 of file Utility.h.
References DEMANGLE_ASSERT, N, and notifyInsertion().
Referenced by decodePunycode().
|
inline |
Returns true if we're currently between a '(' and ')' when printing template args.
Definition at line 118 of file Utility.h.
References TemplateTracker.
|
inline |
Returns true if we're printing template args.
Definition at line 123 of file Utility.h.
References TemplateTracker.
Referenced by printClose(), and printOpen().
|
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 145 of file Utility.h.
References C(), and OutputBuffer().
|
inline |
Definition at line 136 of file Utility.h.
References OutputBuffer(), and Size.
|
inline |
Definition at line 168 of file Utility.h.
References C(), and OutputBuffer().
|
inline |
Definition at line 186 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 170 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 178 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 166 of file Utility.h.
References OutputBuffer().
|
inline |
Definition at line 190 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 174 of file Utility.h.
References N, and OutputBuffer().
|
inline |
Definition at line 182 of file Utility.h.
References N, and OutputBuffer().
|
delete |
References OutputBuffer().
|
inline |
Definition at line 151 of file Utility.h.
References notifyInsertion(), OutputBuffer(), and Size.
|
inline |
Definition at line 130 of file Utility.h.
References isInsideTemplateArgs(), and TemplateTracker.
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 6202 of file ItaniumDemangle.h.
References N.
|
inline |
Definition at line 125 of file Utility.h.
References isInsideTemplateArgs(), and TemplateTracker.
Definition at line 6204 of file ItaniumDemangle.h.
References N.
|
inline |
Definition at line 208 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.
| bool OutputBuffer::InsideTemplate = false |
| unsigned OutputBuffer::ParenDepth = 0 |
| struct { ... } OutputBuffer::TemplateTracker |
Referenced by isInParensInTemplateArgs(), isInsideTemplateArgs(), printClose(), and printOpen().