LLDB  mainline
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StringExtractor Class Reference

#include <StringExtractor.h>

Inheritance diagram for StringExtractor:
Inheritance graph
[legend]
Collaboration diagram for StringExtractor:
Collaboration graph
[legend]

Public Types

enum  { BigEndian = 0, LittleEndian = 1 }
 

Public Member Functions

 StringExtractor ()
 
 StringExtractor (llvm::StringRef packet_str)
 
 StringExtractor (const char *packet_cstr)
 
 StringExtractor (const StringExtractor &rhs)
 
virtual ~StringExtractor ()
 
const StringExtractoroperator= (const StringExtractor &rhs)
 
void Reset (llvm::StringRef str)
 
bool IsGood () const
 
uint64_t GetFilePos () const
 
void SetFilePos (uint32_t idx)
 
void Clear ()
 
void SkipSpaces ()
 
std::string & GetStringRef ()
 
const std::string & GetStringRef () const
 
bool Empty ()
 
size_t GetBytesLeft ()
 
char GetChar (char fail_value='\0')
 
char PeekChar (char fail_value='\0')
 
int DecodeHexU8 ()
 
uint8_t GetHexU8 (uint8_t fail_value=0, bool set_eof_on_fail=true)
 
bool GetHexU8Ex (uint8_t &ch, bool set_eof_on_fail=true)
 
bool GetNameColonValue (llvm::StringRef &name, llvm::StringRef &value)
 
int32_t GetS32 (int32_t fail_value, int base=0)
 
uint32_t GetU32 (uint32_t fail_value, int base=0)
 
int64_t GetS64 (int64_t fail_value, int base=0)
 
uint64_t GetU64 (uint64_t fail_value, int base=0)
 
uint32_t GetHexMaxU32 (bool little_endian, uint32_t fail_value)
 
uint64_t GetHexMaxU64 (bool little_endian, uint64_t fail_value)
 
size_t GetHexBytes (llvm::MutableArrayRef< uint8_t > dest, uint8_t fail_fill_value)
 
size_t GetHexBytesAvail (llvm::MutableArrayRef< uint8_t > dest)
 
uint64_t GetHexWithFixedSize (uint32_t byte_size, bool little_endian, uint64_t fail_value)
 
size_t GetHexByteString (std::string &str)
 
size_t GetHexByteStringFixedLength (std::string &str, uint32_t nibble_length)
 
size_t GetHexByteStringTerminatedBy (std::string &str, char terminator)
 
bool ConsumeFront (const llvm::StringRef &str)
 
const char * Peek ()
 

Protected Member Functions

bool fail ()
 

Protected Attributes

std::string m_packet
 
uint64_t m_index
 

Detailed Description

Definition at line 19 of file StringExtractor.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
BigEndian 
LittleEndian 

Definition at line 21 of file StringExtractor.h.

Constructor & Destructor Documentation

◆ StringExtractor() [1/4]

StringExtractor::StringExtractor ( )

Definition at line 28 of file StringExtractor.cpp.

◆ StringExtractor() [2/4]

StringExtractor::StringExtractor ( llvm::StringRef  packet_str)

Definition at line 30 of file StringExtractor.cpp.

References m_packet.

◆ StringExtractor() [3/4]

StringExtractor::StringExtractor ( const char *  packet_cstr)

Definition at line 35 of file StringExtractor.cpp.

References m_packet.

◆ StringExtractor() [4/4]

StringExtractor::StringExtractor ( const StringExtractor rhs)

Definition at line 42 of file StringExtractor.cpp.

◆ ~StringExtractor()

StringExtractor::~StringExtractor ( )
virtual

Definition at line 55 of file StringExtractor.cpp.

Member Function Documentation

◆ Clear()

void StringExtractor::Clear ( )
inline

◆ ConsumeFront()

bool StringExtractor::ConsumeFront ( const llvm::StringRef &  str)

◆ DecodeHexU8()

int StringExtractor::DecodeHexU8 ( )

◆ Empty()

bool StringExtractor::Empty ( )
inline

◆ fail()

bool StringExtractor::fail ( )
inlineprotected

Definition at line 116 of file StringExtractor.h.

References m_index, and UINT64_MAX.

Referenced by GetNameColonValue().

◆ GetBytesLeft()

size_t StringExtractor::GetBytesLeft ( )
inline

Definition at line 58 of file StringExtractor.h.

References GetChar(), m_index, and m_packet.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(), DecodeHexU8(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoReadMemory(), StringExtractorGDBRemote::GetEscapedBinaryData(), GetHexBytes(), GetHexByteString(), GetHexWithFixedSize(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_c(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_D(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_H(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_P(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QEnvironment(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QEnvironmentHexEncoded(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QLaunchArch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QRestoreRegisterState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qWatchpointSupportInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qXfer_auxv_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vCont(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), ParseMemoryRegionInfoFromProcMapsLine(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().

◆ GetChar()

char StringExtractor::GetChar ( char  fail_value = '\0')

Definition at line 57 of file StringExtractor.cpp.

References m_index, m_packet, and UINT64_MAX.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CalculateMD5(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CreateSymlink(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoDestroy(), GetBytesLeft(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentProcessID(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentThreadIDs(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetDefaultThreadId(), lldb_private::JSONParser::GetEscapedChar(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileExists(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFilePermissions(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileSize(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetLaunchSuccess(), StringExtractorGDBRemote::GetStatus(), lldb_private::JSONParser::GetToken(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_D(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_H(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_P(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_chmod(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_mkdir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_shell(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qWatchpointSupportInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qXfer_auxv_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vCont(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_pRead(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_pWrite(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_symlink(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::MakeDirectory(), ParseHostIOPacketResponse(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadFile(), lldb_private::process_gdb_remote::GDBRemoteCommunication::ReadPacketWithOutputSupport(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::RunShellCommand(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendContinuePacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SetFilePermissions(), lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::Unlink(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::WriteFile().

◆ GetFilePos()

uint64_t StringExtractor::GetFilePos ( ) const
inline

◆ GetHexBytes()

size_t StringExtractor::GetHexBytes ( llvm::MutableArrayRef< uint8_t >  dest,
uint8_t  fail_fill_value 
)

◆ GetHexBytesAvail()

size_t StringExtractor::GetHexBytesAvail ( llvm::MutableArrayRef< uint8_t >  dest)

◆ GetHexByteString()

size_t StringExtractor::GetHexByteString ( std::string &  str)

Definition at line 340 of file StringExtractor.cpp.

References GetBytesLeft(), and GetHexU8().

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::DecodeProcessInfoResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGroupName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetHostInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModuleInfo(), StringExtractorGDBRemote::GetStatus(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetUserName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QEnvironmentHexEncoded(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_chmod(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_mkdir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_shell(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDERR(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDIN(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDOUT(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_QSetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Exists(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_MD5(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Mode(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Size(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_symlink(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_unlink(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LaunchGDBServer(), PeekChar(), lldb_private::process_gdb_remote::GDBRemoteCommunication::ReadPacketWithOutputSupport(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendContinuePacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ServeSymbolLookups(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().

◆ GetHexByteStringFixedLength()

size_t StringExtractor::GetHexByteStringFixedLength ( std::string &  str,
uint32_t  nibble_length 
)

◆ GetHexByteStringTerminatedBy()

size_t StringExtractor::GetHexByteStringTerminatedBy ( std::string &  str,
char  terminator 
)

◆ GetHexMaxU32()

uint32_t StringExtractor::GetHexMaxU32 ( bool  little_endian,
uint32_t  fail_value 
)

◆ GetHexMaxU64()

uint64_t StringExtractor::GetHexMaxU64 ( bool  little_endian,
uint64_t  fail_value 
)

Definition at line 218 of file StringExtractor.cpp.

References m_index, m_packet, SkipSpaces(), UINT64_MAX, and xdigit_to_sint().

Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::AllocateMemory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::CalculateMD5(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetCurrentThreadIDs(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetFileSize(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetRemoteQSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetShlibInfoAddr(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_H(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qXfer_auxv_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), lldb_private::process_gdb_remote::ProcessGDBRemote::HarmonizeThreadIdsForProfileData(), ParseMemoryRegionInfoFromProcMapsLine(), PeekChar(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendStartTracePacket().

◆ GetHexU8()

uint8_t StringExtractor::GetHexU8 ( uint8_t  fail_value = 0,
bool  set_eof_on_fail = true 
)

◆ GetHexU8Ex()

bool StringExtractor::GetHexU8Ex ( uint8_t &  ch,
bool  set_eof_on_fail = true 
)

Definition at line 95 of file StringExtractor.cpp.

References DecodeHexU8(), m_index, m_packet, and UINT64_MAX.

Referenced by GetHexU8(), and PeekChar().

◆ GetHexWithFixedSize()

uint64_t StringExtractor::GetHexWithFixedSize ( uint32_t  byte_size,
bool  little_endian,
uint64_t  fail_value 
)

Definition at line 315 of file StringExtractor.cpp.

References GetBytesLeft(), GetHexU8(), IsGood(), m_index, and UINT64_MAX.

Referenced by PeekChar().

◆ GetNameColonValue()

bool StringExtractor::GetNameColonValue ( llvm::StringRef &  name,
llvm::StringRef &  value 
)

◆ GetS32()

int32_t StringExtractor::GetS32 ( int32_t  fail_value,
int  base = 0 
)

◆ GetS64()

int64_t StringExtractor::GetS64 ( int64_t  fail_value,
int  base = 0 
)

Definition at line 152 of file StringExtractor.cpp.

References m_index, and m_packet.

Referenced by PeekChar().

◆ GetStringRef() [1/2]

std::string& StringExtractor::GetStringRef ( )
inline

Definition at line 52 of file StringExtractor.h.

References m_packet.

Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunication::AppendBytesToCache(), ASCIIHexBytesResponseValidator(), lldb_private::process_gdb_remote::GDBRemoteCommunication::CheckForPacket(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ConfigureRemoteStructuredData(), ConsumeFront(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoDestroy(), CommandObjectProcessKDPPacketSend::DoExecute(), CommandObjectProcessGDBRemotePacketSend::DoExecute(), CommandObjectProcessGDBRemotePacketMonitor::DoExecute(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoReadMemory(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoWriteMemory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashDone(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetExtendedInfoForThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetGroupName(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetHostOSVersion(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetLaunchSuccess(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetLoadedDynamicLibrariesInfos_sender(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetModulesInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::GetPacketAndSendResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationReplayServer::GetPacketAndSendResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetRemoteQSupported(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::GetRemoteUnixSignals(), lldb_private::process_gdb_remote::ProcessGDBRemote::GetSharedCacheInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetSupportedStructuredDataPlugins(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetThreadsInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetUserName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetVContSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_c(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_p(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_P(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qEcho(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qThreadStopInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::HandleNotifyPacket(), JSONResponseValidator(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::QueryGDBServer(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadAllRegisters(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadExtFeature(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ReadRegister(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendContinuePacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServer::SendIllFormedResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendPacketAndWaitForResponseNoLock(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::SendPacketsAndConcatenateResponses(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ServeSymbolLookups(), lldb_private::process_gdb_remote::ProcessGDBRemote::SetLastStopPacket(), lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::UpdateThreadIDList(), and lldb_private::process_gdb_remote::GDBRemoteCommunication::WaitForPacketNoLock().

◆ GetStringRef() [2/2]

const std::string& StringExtractor::GetStringRef ( ) const
inline

Definition at line 54 of file StringExtractor.h.

References m_packet.

◆ GetU32()

uint32_t StringExtractor::GetU32 ( uint32_t  fail_value,
int  base = 0 
)

◆ GetU64()

uint64_t StringExtractor::GetU64 ( uint64_t  fail_value,
int  base = 0 
)

◆ IsGood()

bool StringExtractor::IsGood ( ) const
inline

Definition at line 39 of file StringExtractor.h.

References m_index, and UINT64_MAX.

Referenced by GetHexBytes(), and GetHexWithFixedSize().

◆ operator=()

const StringExtractor & StringExtractor::operator= ( const StringExtractor rhs)

Definition at line 46 of file StringExtractor.cpp.

References m_index, and m_packet.

◆ Peek()

const char* StringExtractor::Peek ( )
inline

◆ PeekChar()

char StringExtractor::PeekChar ( char  fail_value = '\0')
inline

◆ Reset()

void StringExtractor::Reset ( llvm::StringRef  str)
inline

Definition at line 32 of file StringExtractor.h.

References m_index, and m_packet.

◆ SetFilePos()

void StringExtractor::SetFilePos ( uint32_t  idx)
inline

Definition at line 43 of file StringExtractor.h.

References m_index.

Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::AsyncThread(), lldb_private::process_gdb_remote::GDBRemoteCommunication::CheckForPacket(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::FindProcesses(), StringExtractorGDBRemote::GetError(), StringExtractorGDBRemote::GetStatus(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_A(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_c(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_D(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_H(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_I(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_jModulesInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_p(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_P(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QEnvironment(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QEnvironmentHexEncoded(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qfProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qGroupName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qKillSpawnedProcess(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QLaunchArch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_qLaunchGDBServer(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_chmod(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_mkdir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qPlatform_shell(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qProcessInfoPID(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qRegisterInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QRestoreRegisterState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSaveRegisterState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetDetachOnError(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetDisableASLR(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDERR(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDIN(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetSTDOUT(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerPlatform::Handle_QSetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetWorkingDir(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qSpeedTest(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qThreadStopInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_qUserName(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qWatchpointSupportInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qXfer_auxv_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vCont(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Close(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Exists(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_MD5(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Mode(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Open(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_pRead(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_pWrite(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_Size(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_symlink(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_vFile_unlink(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), lldb_private::process_gdb_remote::ProcessGDBRemote::HarmonizeThreadIdsForProfileData(), ParseHostIOPacketResponse(), lldb_private::process_gdb_remote::GDBRemoteClientBase::SendContinuePacketAndWaitForResponse(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::ServeSymbolLookups(), and lldb_private::process_gdb_remote::ProcessGDBRemote::SetThreadStopInfo().

◆ SkipSpaces()

void StringExtractor::SkipSpaces ( )

Member Data Documentation

◆ m_index

uint64_t StringExtractor::m_index
protected

◆ m_packet

std::string StringExtractor::m_packet
protected

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