LLVM 22.0.0git
RustDemangle.cpp File Reference
#include "llvm/Demangle/Demangle.h"
#include "llvm/Demangle/StringViewExtras.h"
#include "llvm/Demangle/Utility.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstring>
#include <limits>
#include <string_view>

Go to the source code of this file.

Functions

static bool isDigit (const char C)
static bool isHexDigit (const char C)
static bool isLower (const char C)
static bool isUpper (const char C)
static bool isValid (const char C)
 Returns true if C is a valid mangled character: <0-9a-zA-Z_>.
static bool parseBasicType (char C, BasicType &Type)
static bool isAsciiPrintable (uint64_t CodePoint)
 Returns true if CodePoint represents a printable ASCII character.
static bool decodePunycodeDigit (char C, size_t &Value)
static void removeNullBytes (OutputBuffer &Output, size_t StartIdx)
static bool encodeUTF8 (size_t CodePoint, char *Output)
static bool decodePunycode (std::string_view Input, OutputBuffer &Output)

Function Documentation

◆ decodePunycode()

◆ decodePunycodeDigit()

bool decodePunycodeDigit ( char C,
size_t & Value )
inlinestatic

Definition at line 1047 of file RustDemangle.cpp.

References llvm::CallingConv::C, llvm::isDigit(), and llvm::isLower().

Referenced by decodePunycode().

◆ encodeUTF8()

bool encodeUTF8 ( size_t CodePoint,
char * Output )
inlinestatic

Definition at line 1070 of file RustDemangle.cpp.

Referenced by decodePunycode(), and llvm::yaml::escape().

◆ isAsciiPrintable()

bool isAsciiPrintable ( uint64_t CodePoint)
static

Returns true if CodePoint represents a printable ASCII character.

Definition at line 799 of file RustDemangle.cpp.

◆ isDigit()

bool isDigit ( const char C)
inlinestatic

Definition at line 170 of file RustDemangle.cpp.

References llvm::CallingConv::C.

◆ isHexDigit()

bool isHexDigit ( const char C)
inlinestatic

Definition at line 172 of file RustDemangle.cpp.

References llvm::CallingConv::C.

◆ isLower()

bool isLower ( const char C)
inlinestatic

Definition at line 176 of file RustDemangle.cpp.

References llvm::CallingConv::C.

◆ isUpper()

bool isUpper ( const char C)
inlinestatic

Definition at line 178 of file RustDemangle.cpp.

References llvm::CallingConv::C.

◆ isValid()

◆ parseBasicType()

bool parseBasicType ( char C,
BasicType & Type )
static

Definition at line 386 of file RustDemangle.cpp.

References llvm::CallingConv::C.

◆ removeNullBytes()

void removeNullBytes ( OutputBuffer & Output,
size_t StartIdx )
static