Skip to content

Commit 6cd4a4c

Browse files
committed
[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
1 parent 89fe083 commit 6cd4a4c

File tree

10 files changed

+19
-27
lines changed

10 files changed

+19
-27
lines changed

lldb/include/lldb/API/SBAddress.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ class LLDB_API SBAddress {
115115

116116
const lldb_private::Address &ref() const;
117117

118-
SBAddress(const lldb_private::Address *lldb_object_ptr);
118+
SBAddress(const lldb_private::Address &address);
119119

120-
void SetAddress(const lldb_private::Address *lldb_object_ptr);
120+
void SetAddress(const lldb_private::Address &address);
121121

122122
private:
123123
std::unique_ptr<lldb_private::Address> m_opaque_up;

lldb/source/API/SBAddress.cpp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ SBAddress::SBAddress() : m_opaque_up(new Address()) {
2525
LLDB_RECORD_CONSTRUCTOR_NO_ARGS(SBAddress);
2626
}
2727

28-
SBAddress::SBAddress(const Address *lldb_object_ptr)
29-
: m_opaque_up(new Address()) {
30-
if (lldb_object_ptr)
31-
m_opaque_up = std::make_unique<Address>(*lldb_object_ptr);
32-
}
28+
SBAddress::SBAddress(const Address &address)
29+
: m_opaque_up(std::make_unique<Address>(address)) {}
3330

3431
SBAddress::SBAddress(const SBAddress &rhs) : m_opaque_up(new Address()) {
3532
LLDB_RECORD_CONSTRUCTOR(SBAddress, (const lldb::SBAddress &), rhs);
@@ -101,12 +98,7 @@ void SBAddress::SetAddress(lldb::SBSection section, lldb::addr_t offset) {
10198
addr.SetOffset(offset);
10299
}
103100

104-
void SBAddress::SetAddress(const Address *lldb_object_ptr) {
105-
if (lldb_object_ptr)
106-
ref() = *lldb_object_ptr;
107-
else
108-
m_opaque_up = std::make_unique<Address>();
109-
}
101+
void SBAddress::SetAddress(const Address &address) { ref() = address; }
110102

111103
lldb::addr_t SBAddress::GetFileAddress() const {
112104
LLDB_RECORD_METHOD_CONST_NO_ARGS(lldb::addr_t, SBAddress, GetFileAddress);

lldb/source/API/SBBreakpointLocation.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ SBAddress SBBreakpointLocation::GetAddress() {
8080

8181
BreakpointLocationSP loc_sp = GetSP();
8282
if (loc_sp) {
83-
return LLDB_RECORD_RESULT(SBAddress(&loc_sp->GetAddress()));
83+
return LLDB_RECORD_RESULT(SBAddress(loc_sp->GetAddress()));
8484
}
8585

8686
return LLDB_RECORD_RESULT(SBAddress());
@@ -218,8 +218,8 @@ SBError SBBreakpointLocation::SetScriptCallbackFunction(
218218
const char *callback_function_name,
219219
SBStructuredData &extra_args) {
220220
LLDB_RECORD_METHOD(SBError, SBBreakpointLocation, SetScriptCallbackFunction,
221-
(const char *, SBStructuredData &),
222-
callback_function_name, extra_args);
221+
(const char *, SBStructuredData &), callback_function_name,
222+
extra_args);
223223
SBError sb_error;
224224
BreakpointLocationSP loc_sp = GetSP();
225225

@@ -239,7 +239,7 @@ SBError SBBreakpointLocation::SetScriptCallbackFunction(
239239
sb_error.SetError(error);
240240
} else
241241
sb_error.SetErrorString("invalid breakpoint");
242-
242+
243243
return LLDB_RECORD_RESULT(sb_error);
244244
}
245245

lldb/source/API/SBFrame.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ SBAddress SBFrame::GetPCAddress() const {
431431
if (stop_locker.TryLock(&process->GetRunLock())) {
432432
frame = exe_ctx.GetFramePtr();
433433
if (frame)
434-
sb_addr.SetAddress(&frame->GetFrameCodeAddress());
434+
sb_addr.SetAddress(frame->GetFrameCodeAddress());
435435
}
436436
}
437437
return LLDB_RECORD_RESULT(sb_addr);

lldb/source/API/SBFunction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ SBAddress SBFunction::GetStartAddress() {
152152

153153
SBAddress addr;
154154
if (m_opaque_ptr)
155-
addr.SetAddress(&m_opaque_ptr->GetAddressRange().GetBaseAddress());
155+
addr.SetAddress(m_opaque_ptr->GetAddressRange().GetBaseAddress());
156156
return LLDB_RECORD_RESULT(addr);
157157
}
158158

@@ -163,7 +163,7 @@ SBAddress SBFunction::GetEndAddress() {
163163
if (m_opaque_ptr) {
164164
addr_t byte_size = m_opaque_ptr->GetAddressRange().GetByteSize();
165165
if (byte_size > 0) {
166-
addr.SetAddress(&m_opaque_ptr->GetAddressRange().GetBaseAddress());
166+
addr.SetAddress(m_opaque_ptr->GetAddressRange().GetBaseAddress());
167167
addr->Slide(byte_size);
168168
}
169169
}

lldb/source/API/SBInstruction.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ SBAddress SBInstruction::GetAddress() {
107107
SBAddress sb_addr;
108108
lldb::InstructionSP inst_sp(GetOpaque());
109109
if (inst_sp && inst_sp->GetAddress().IsValid())
110-
sb_addr.SetAddress(&inst_sp->GetAddress());
110+
sb_addr.SetAddress(inst_sp->GetAddress());
111111
return LLDB_RECORD_RESULT(sb_addr);
112112
}
113113

lldb/source/API/SBLineEntry.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ SBAddress SBLineEntry::GetStartAddress() const {
5656

5757
SBAddress sb_address;
5858
if (m_opaque_up)
59-
sb_address.SetAddress(&m_opaque_up->range.GetBaseAddress());
59+
sb_address.SetAddress(m_opaque_up->range.GetBaseAddress());
6060

6161
return LLDB_RECORD_RESULT(sb_address);
6262
}
@@ -66,7 +66,7 @@ SBAddress SBLineEntry::GetEndAddress() const {
6666

6767
SBAddress sb_address;
6868
if (m_opaque_up) {
69-
sb_address.SetAddress(&m_opaque_up->range.GetBaseAddress());
69+
sb_address.SetAddress(m_opaque_up->range.GetBaseAddress());
7070
sb_address.OffsetAddress(m_opaque_up->range.GetByteSize());
7171
}
7272
return LLDB_RECORD_RESULT(sb_address);

lldb/source/API/SBQueueItem.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ SBAddress SBQueueItem::GetAddress() const {
8080

8181
SBAddress result;
8282
if (m_queue_item_sp) {
83-
result.SetAddress(&m_queue_item_sp->GetAddress());
83+
result.SetAddress(m_queue_item_sp->GetAddress());
8484
}
8585
return LLDB_RECORD_RESULT(result);
8686
}

lldb/source/API/SBSymbol.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ SBAddress SBSymbol::GetStartAddress() {
151151

152152
SBAddress addr;
153153
if (m_opaque_ptr && m_opaque_ptr->ValueIsAddress()) {
154-
addr.SetAddress(&m_opaque_ptr->GetAddressRef());
154+
addr.SetAddress(m_opaque_ptr->GetAddressRef());
155155
}
156156
return LLDB_RECORD_RESULT(addr);
157157
}
@@ -163,7 +163,7 @@ SBAddress SBSymbol::GetEndAddress() {
163163
if (m_opaque_ptr && m_opaque_ptr->ValueIsAddress()) {
164164
lldb::addr_t range_size = m_opaque_ptr->GetByteSize();
165165
if (range_size > 0) {
166-
addr.SetAddress(&m_opaque_ptr->GetAddressRef());
166+
addr.SetAddress(m_opaque_ptr->GetAddressRef());
167167
addr->Slide(m_opaque_ptr->GetByteSize());
168168
}
169169
}

lldb/source/API/SBValue.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1356,7 +1356,7 @@ lldb::SBAddress SBValue::GetAddress() {
13561356
}
13571357
}
13581358

1359-
return LLDB_RECORD_RESULT(SBAddress(new Address(addr)));
1359+
return LLDB_RECORD_RESULT(SBAddress(Address(addr)));
13601360
}
13611361

13621362
lldb::SBData SBValue::GetPointeeData(uint32_t item_idx, uint32_t item_count) {

0 commit comments

Comments
 (0)