[Lldb-commits] [lldb] 6cd4a4c - [lldb] Pass reference instead of pointer in protected SBAddress methods.

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 25 11:47:13 PDT 2020


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) {


        


More information about the lldb-commits mailing list