Author: Jonas Devlieghere Date: 2020-09-25T11:47:05-07:00 New Revision: 6cd4a4cd02dba6aed33c447114587eebf6854c43
URL: https://github.com/llvm/llvm-project/commit/6cd4a4cd02dba6aed33c447114587eebf6854c43 DIFF: https://github.com/llvm/llvm-project/commit/6cd4a4cd02dba6aed33c447114587eebf6854c43.diff LOG: [lldb] Pass reference instead of pointer in protected SBAddress methods. Every call to the protected SBAddress constructor and the SetAddress method takes the address of a valid object which means we might as well pass it as a const reference instead of a pointer and drop the null check. Differential revision: https://reviews.llvm.org/D88249 Added: Modified: lldb/include/lldb/API/SBAddress.h lldb/source/API/SBAddress.cpp lldb/source/API/SBBreakpointLocation.cpp lldb/source/API/SBFrame.cpp lldb/source/API/SBFunction.cpp lldb/source/API/SBInstruction.cpp lldb/source/API/SBLineEntry.cpp lldb/source/API/SBQueueItem.cpp lldb/source/API/SBSymbol.cpp lldb/source/API/SBValue.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/API/SBAddress.h b/lldb/include/lldb/API/SBAddress.h index cf7555dc2ee8..5a792a24cf6e 100644 --- a/lldb/include/lldb/API/SBAddress.h +++ b/lldb/include/lldb/API/SBAddress.h @@ -115,9 +115,9 @@ class LLDB_API SBAddress { const lldb_private::Address &ref() const; - SBAddress(const lldb_private::Address *lldb_object_ptr); + SBAddress(const lldb_private::Address &address); - void SetAddress(const lldb_private::Address *lldb_object_ptr); + void SetAddress(const lldb_private::Address &address); private: std::unique_ptr<lldb_private::Address> m_opaque_up; diff --git a/lldb/source/API/SBAddress.cpp b/lldb/source/API/SBAddress.cpp index 6444a006c0ff..7c102270a87c 100644 --- a/lldb/source/API/SBAddress.cpp +++ b/lldb/source/API/SBAddress.cpp @@ -25,11 +25,8 @@ SBAddress::SBAddress() : m_opaque_up(new Address()) { LLDB_RECORD_CONSTRUCTOR_NO_ARGS(SBAddress); } -SBAddress::SBAddress(const Address *lldb_object_ptr) - : m_opaque_up(new Address()) { - if (lldb_object_ptr) - m_opaque_up = std::make_unique<Address>(*lldb_object_ptr); -} +SBAddress::SBAddress(const Address &address) + : m_opaque_up(std::make_unique<Address>(address)) {} SBAddress::SBAddress(const SBAddress &rhs) : m_opaque_up(new Address()) { LLDB_RECORD_CONSTRUCTOR(SBAddress, (const lldb::SBAddress &), rhs); @@ -101,12 +98,7 @@ void SBAddress::SetAddress(lldb::SBSection section, lldb::addr_t offset) { addr.SetOffset(offset); } -void SBAddress::SetAddress(const Address *lldb_object_ptr) { - if (lldb_object_ptr) - ref() = *lldb_object_ptr; - else - m_opaque_up = std::make_unique<Address>(); -} +void SBAddress::SetAddress(const Address &address) { ref() = address; } lldb::addr_t SBAddress::GetFileAddress() const { LLDB_RECORD_METHOD_CONST_NO_ARGS(lldb::addr_t, SBAddress, GetFileAddress); diff --git a/lldb/source/API/SBBreakpointLocation.cpp b/lldb/source/API/SBBreakpointLocation.cpp index e29f3fd9c50e..d6bbb5faf041 100644 --- a/lldb/source/API/SBBreakpointLocation.cpp +++ b/lldb/source/API/SBBreakpointLocation.cpp @@ -80,7 +80,7 @@ SBAddress SBBreakpointLocation::GetAddress() { BreakpointLocationSP loc_sp = GetSP(); if (loc_sp) { - return LLDB_RECORD_RESULT(SBAddress(&loc_sp->GetAddress())); + return LLDB_RECORD_RESULT(SBAddress(loc_sp->GetAddress())); } return LLDB_RECORD_RESULT(SBAddress()); @@ -218,8 +218,8 @@ SBError SBBreakpointLocation::SetScriptCallbackFunction( const char *callback_function_name, SBStructuredData &extra_args) { LLDB_RECORD_METHOD(SBError, SBBreakpointLocation, SetScriptCallbackFunction, - (const char *, SBStructuredData &), - callback_function_name, extra_args); + (const char *, SBStructuredData &), callback_function_name, + extra_args); SBError sb_error; BreakpointLocationSP loc_sp = GetSP(); @@ -239,7 +239,7 @@ SBError SBBreakpointLocation::SetScriptCallbackFunction( sb_error.SetError(error); } else sb_error.SetErrorString("invalid breakpoint"); - + return LLDB_RECORD_RESULT(sb_error); } diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp index 81782dbf838f..8f9e426e066e 100644 --- a/lldb/source/API/SBFrame.cpp +++ b/lldb/source/API/SBFrame.cpp @@ -431,7 +431,7 @@ SBAddress SBFrame::GetPCAddress() const { if (stop_locker.TryLock(&process->GetRunLock())) { frame = exe_ctx.GetFramePtr(); if (frame) - sb_addr.SetAddress(&frame->GetFrameCodeAddress()); + sb_addr.SetAddress(frame->GetFrameCodeAddress()); } } return LLDB_RECORD_RESULT(sb_addr); diff --git a/lldb/source/API/SBFunction.cpp b/lldb/source/API/SBFunction.cpp index e49513bd0da5..9f3cf817fc8c 100644 --- a/lldb/source/API/SBFunction.cpp +++ b/lldb/source/API/SBFunction.cpp @@ -152,7 +152,7 @@ SBAddress SBFunction::GetStartAddress() { SBAddress addr; if (m_opaque_ptr) - addr.SetAddress(&m_opaque_ptr->GetAddressRange().GetBaseAddress()); + addr.SetAddress(m_opaque_ptr->GetAddressRange().GetBaseAddress()); return LLDB_RECORD_RESULT(addr); } @@ -163,7 +163,7 @@ SBAddress SBFunction::GetEndAddress() { if (m_opaque_ptr) { addr_t byte_size = m_opaque_ptr->GetAddressRange().GetByteSize(); if (byte_size > 0) { - addr.SetAddress(&m_opaque_ptr->GetAddressRange().GetBaseAddress()); + addr.SetAddress(m_opaque_ptr->GetAddressRange().GetBaseAddress()); addr->Slide(byte_size); } } diff --git a/lldb/source/API/SBInstruction.cpp b/lldb/source/API/SBInstruction.cpp index 207e81272e50..579ddf84cf45 100644 --- a/lldb/source/API/SBInstruction.cpp +++ b/lldb/source/API/SBInstruction.cpp @@ -107,7 +107,7 @@ SBAddress SBInstruction::GetAddress() { SBAddress sb_addr; lldb::InstructionSP inst_sp(GetOpaque()); if (inst_sp && inst_sp->GetAddress().IsValid()) - sb_addr.SetAddress(&inst_sp->GetAddress()); + sb_addr.SetAddress(inst_sp->GetAddress()); return LLDB_RECORD_RESULT(sb_addr); } diff --git a/lldb/source/API/SBLineEntry.cpp b/lldb/source/API/SBLineEntry.cpp index cefbe3ee1a1e..9866acbcbec3 100644 --- a/lldb/source/API/SBLineEntry.cpp +++ b/lldb/source/API/SBLineEntry.cpp @@ -56,7 +56,7 @@ SBAddress SBLineEntry::GetStartAddress() const { SBAddress sb_address; if (m_opaque_up) - sb_address.SetAddress(&m_opaque_up->range.GetBaseAddress()); + sb_address.SetAddress(m_opaque_up->range.GetBaseAddress()); return LLDB_RECORD_RESULT(sb_address); } @@ -66,7 +66,7 @@ SBAddress SBLineEntry::GetEndAddress() const { SBAddress sb_address; if (m_opaque_up) { - sb_address.SetAddress(&m_opaque_up->range.GetBaseAddress()); + sb_address.SetAddress(m_opaque_up->range.GetBaseAddress()); sb_address.OffsetAddress(m_opaque_up->range.GetByteSize()); } return LLDB_RECORD_RESULT(sb_address); diff --git a/lldb/source/API/SBQueueItem.cpp b/lldb/source/API/SBQueueItem.cpp index 0f92e2e04126..6cd9e4514caf 100644 --- a/lldb/source/API/SBQueueItem.cpp +++ b/lldb/source/API/SBQueueItem.cpp @@ -80,7 +80,7 @@ SBAddress SBQueueItem::GetAddress() const { SBAddress result; if (m_queue_item_sp) { - result.SetAddress(&m_queue_item_sp->GetAddress()); + result.SetAddress(m_queue_item_sp->GetAddress()); } return LLDB_RECORD_RESULT(result); } diff --git a/lldb/source/API/SBSymbol.cpp b/lldb/source/API/SBSymbol.cpp index e4f2f3518270..eafc3e630bcd 100644 --- a/lldb/source/API/SBSymbol.cpp +++ b/lldb/source/API/SBSymbol.cpp @@ -151,7 +151,7 @@ SBAddress SBSymbol::GetStartAddress() { SBAddress addr; if (m_opaque_ptr && m_opaque_ptr->ValueIsAddress()) { - addr.SetAddress(&m_opaque_ptr->GetAddressRef()); + addr.SetAddress(m_opaque_ptr->GetAddressRef()); } return LLDB_RECORD_RESULT(addr); } @@ -163,7 +163,7 @@ SBAddress SBSymbol::GetEndAddress() { if (m_opaque_ptr && m_opaque_ptr->ValueIsAddress()) { lldb::addr_t range_size = m_opaque_ptr->GetByteSize(); if (range_size > 0) { - addr.SetAddress(&m_opaque_ptr->GetAddressRef()); + addr.SetAddress(m_opaque_ptr->GetAddressRef()); addr->Slide(m_opaque_ptr->GetByteSize()); } } diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp index 686d1f23a75a..63518b4c4e3e 100644 --- a/lldb/source/API/SBValue.cpp +++ b/lldb/source/API/SBValue.cpp @@ -1356,7 +1356,7 @@ lldb::SBAddress SBValue::GetAddress() { } } - return LLDB_RECORD_RESULT(SBAddress(new Address(addr))); + return LLDB_RECORD_RESULT(SBAddress(Address(addr))); } lldb::SBData SBValue::GetPointeeData(uint32_t item_idx, uint32_t item_count) { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits