9#ifndef LLDB_CORE_MANGLED_H
10#define LLDB_CORE_MANGLED_H
16#include "llvm/ADT/StringRef.h"
64 explicit Mangled(llvm::StringRef name);
72 return !(*
this == rhs);
89 explicit operator bool()
const;
Many cache files require string tables to store data efficiently.
A uniqued constant string class.
An binary data encoding class.
A class that handles mangled names.
void Encode(DataEncoder &encoder, ConstStringTable &strtab) const
Encode this object into a data encoder object.
bool NameMatches(ConstString name) const
Check if "name" matches either the mangled or demangled name.
static int Compare(const Mangled &lhs, const Mangled &rhs)
Compare the mangled string values.
@ ePreferDemangledWithoutArguments
Mangled()=default
Default constructor.
void SetDemangledName(ConstString name)
void DumpDebug(Stream *s) const
Dump a debug description of this object to a Stream s.
static Mangled::ManglingScheme GetManglingScheme(llvm::StringRef const name)
Try to identify the mangling scheme used.
ConstString GetMangledName() const
Mangled name get accessor.
size_t MemorySize() const
Get the memory cost of this object.
bool GetRichManglingInfo(RichManglingContext &context, SkipMangledNameFn *skip_mangled_name)
Get rich mangling information.
ConstString GetDemangledName() const
Demangled name get accessor.
lldb::LanguageType GuessLanguage() const
Try to guess the language from the mangling.
bool Decode(const DataExtractor &data, lldb::offset_t *offset_ptr, const StringTableReader &strtab)
Decode a serialized version of this object from data.
void SetMangledName(ConstString name)
bool(llvm::StringRef, ManglingScheme) SkipMangledNameFn
Function signature for filtering mangled names.
ConstString & GetMangledName()
Mangled name get accessor.
bool operator==(const Mangled &rhs) const
void SetValue(ConstString name)
Set the string value in this object.
ConstString GetName(NamePreference preference=ePreferDemangled) const
Best name get accessor.
bool operator!=(const Mangled &rhs) const
ConstString m_mangled
Mangled member variables.
ConstString m_demangled
Mutable so we can get it on demand with a const version of this object.
ConstString GetDisplayDemangledName() const
Display demangled name get accessor.
void Dump(Stream *s) const
Dump a description of this object to a Stream s.
void Clear()
Clear the mangled and demangled values.
Uniform wrapper for access to rich mangling information from different providers.
A stream class that can stream formatted output to a file.
Many cache files require string tables to store data efficiently.
A class that represents a running process on the host machine.
Stream & operator<<(Stream &s, const Mangled &obj)
LanguageType
Programming language type.