aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/API/SBAddress.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBAddress.cpp')
-rw-r--r--lldb/source/API/SBAddress.cpp117
1 files changed, 34 insertions, 83 deletions
diff --git a/lldb/source/API/SBAddress.cpp b/lldb/source/API/SBAddress.cpp
index 7c102270a87c..e519f0bcc83c 100644
--- a/lldb/source/API/SBAddress.cpp
+++ b/lldb/source/API/SBAddress.cpp
@@ -7,7 +7,6 @@
//===----------------------------------------------------------------------===//
#include "lldb/API/SBAddress.h"
-#include "SBReproducerPrivate.h"
#include "Utils.h"
#include "lldb/API/SBProcess.h"
#include "lldb/API/SBSection.h"
@@ -16,35 +15,34 @@
#include "lldb/Core/Module.h"
#include "lldb/Symbol/LineEntry.h"
#include "lldb/Target/Target.h"
+#include "lldb/Utility/Instrumentation.h"
#include "lldb/Utility/StreamString.h"
using namespace lldb;
using namespace lldb_private;
SBAddress::SBAddress() : m_opaque_up(new Address()) {
- LLDB_RECORD_CONSTRUCTOR_NO_ARGS(SBAddress);
+ LLDB_INSTRUMENT_VA(this);
}
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);
+ LLDB_INSTRUMENT_VA(this, rhs);
m_opaque_up = clone(rhs.m_opaque_up);
}
SBAddress::SBAddress(lldb::SBSection section, lldb::addr_t offset)
: m_opaque_up(new Address(section.GetSP(), offset)) {
- LLDB_RECORD_CONSTRUCTOR(SBAddress, (lldb::SBSection, lldb::addr_t), section,
- offset);
+ LLDB_INSTRUMENT_VA(this, section, offset);
}
// Create an address by resolving a load address using the supplied target
SBAddress::SBAddress(lldb::addr_t load_addr, lldb::SBTarget &target)
: m_opaque_up(new Address()) {
- LLDB_RECORD_CONSTRUCTOR(SBAddress, (lldb::addr_t, lldb::SBTarget &),
- load_addr, target);
+ LLDB_INSTRUMENT_VA(this, load_addr, target);
SetLoadAddress(load_addr, target);
}
@@ -52,12 +50,11 @@ SBAddress::SBAddress(lldb::addr_t load_addr, lldb::SBTarget &target)
SBAddress::~SBAddress() = default;
const SBAddress &SBAddress::operator=(const SBAddress &rhs) {
- LLDB_RECORD_METHOD(const lldb::SBAddress &,
- SBAddress, operator=,(const lldb::SBAddress &), rhs);
+ LLDB_INSTRUMENT_VA(this, rhs);
if (this != &rhs)
m_opaque_up = clone(rhs.m_opaque_up);
- return LLDB_RECORD_RESULT(*this);
+ return *this;
}
bool lldb::operator==(const SBAddress &lhs, const SBAddress &rhs) {
@@ -67,31 +64,29 @@ bool lldb::operator==(const SBAddress &lhs, const SBAddress &rhs) {
}
bool SBAddress::operator!=(const SBAddress &rhs) const {
- LLDB_RECORD_METHOD_CONST(bool, SBAddress, operator!=,(const SBAddress &),
- &rhs);
+ LLDB_INSTRUMENT_VA(this, rhs);
return !(*this == rhs);
}
bool SBAddress::IsValid() const {
- LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBAddress, IsValid);
+ LLDB_INSTRUMENT_VA(this);
return this->operator bool();
}
SBAddress::operator bool() const {
- LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBAddress, operator bool);
+ LLDB_INSTRUMENT_VA(this);
return m_opaque_up != nullptr && m_opaque_up->IsValid();
}
void SBAddress::Clear() {
- LLDB_RECORD_METHOD_NO_ARGS(void, SBAddress, Clear);
+ LLDB_INSTRUMENT_VA(this);
m_opaque_up = std::make_unique<Address>();
}
void SBAddress::SetAddress(lldb::SBSection section, lldb::addr_t offset) {
- LLDB_RECORD_METHOD(void, SBAddress, SetAddress,
- (lldb::SBSection, lldb::addr_t), section, offset);
+ LLDB_INSTRUMENT_VA(this, section, offset);
Address &addr = ref();
addr.SetSection(section.GetSP());
@@ -101,7 +96,7 @@ void SBAddress::SetAddress(lldb::SBSection section, lldb::addr_t offset) {
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);
+ LLDB_INSTRUMENT_VA(this);
if (m_opaque_up->IsValid())
return m_opaque_up->GetFileAddress();
@@ -110,8 +105,7 @@ lldb::addr_t SBAddress::GetFileAddress() const {
}
lldb::addr_t SBAddress::GetLoadAddress(const SBTarget &target) const {
- LLDB_RECORD_METHOD_CONST(lldb::addr_t, SBAddress, GetLoadAddress,
- (const lldb::SBTarget &), target);
+ LLDB_INSTRUMENT_VA(this, target);
lldb::addr_t addr = LLDB_INVALID_ADDRESS;
TargetSP target_sp(target.GetSP());
@@ -126,8 +120,7 @@ lldb::addr_t SBAddress::GetLoadAddress(const SBTarget &target) const {
}
void SBAddress::SetLoadAddress(lldb::addr_t load_addr, lldb::SBTarget &target) {
- LLDB_RECORD_METHOD(void, SBAddress, SetLoadAddress,
- (lldb::addr_t, lldb::SBTarget &), load_addr, target);
+ LLDB_INSTRUMENT_VA(this, load_addr, target);
// Create the address object if we don't already have one
ref();
@@ -144,7 +137,7 @@ void SBAddress::SetLoadAddress(lldb::addr_t load_addr, lldb::SBTarget &target) {
}
bool SBAddress::OffsetAddress(addr_t offset) {
- LLDB_RECORD_METHOD(bool, SBAddress, OffsetAddress, (lldb::addr_t), offset);
+ LLDB_INSTRUMENT_VA(this, offset);
if (m_opaque_up->IsValid()) {
addr_t addr_offset = m_opaque_up->GetOffset();
@@ -157,16 +150,16 @@ bool SBAddress::OffsetAddress(addr_t offset) {
}
lldb::SBSection SBAddress::GetSection() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBSection, SBAddress, GetSection);
+ LLDB_INSTRUMENT_VA(this);
lldb::SBSection sb_section;
if (m_opaque_up->IsValid())
sb_section.SetSP(m_opaque_up->GetSection());
- return LLDB_RECORD_RESULT(sb_section);
+ return sb_section;
}
lldb::addr_t SBAddress::GetOffset() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::addr_t, SBAddress, GetOffset);
+ LLDB_INSTRUMENT_VA(this);
if (m_opaque_up->IsValid())
return m_opaque_up->GetOffset();
@@ -193,8 +186,7 @@ const Address &SBAddress::ref() const {
Address *SBAddress::get() { return m_opaque_up.get(); }
bool SBAddress::GetDescription(SBStream &description) {
- LLDB_RECORD_METHOD(bool, SBAddress, GetDescription, (lldb::SBStream &),
- description);
+ LLDB_INSTRUMENT_VA(this, description);
// Call "ref()" on the stream to make sure it creates a backing stream in
// case there isn't one already...
@@ -209,63 +201,62 @@ bool SBAddress::GetDescription(SBStream &description) {
}
SBModule SBAddress::GetModule() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBModule, SBAddress, GetModule);
+ LLDB_INSTRUMENT_VA(this);
SBModule sb_module;
if (m_opaque_up->IsValid())
sb_module.SetSP(m_opaque_up->GetModule());
- return LLDB_RECORD_RESULT(sb_module);
+ return sb_module;
}
SBSymbolContext SBAddress::GetSymbolContext(uint32_t resolve_scope) {
- LLDB_RECORD_METHOD(lldb::SBSymbolContext, SBAddress, GetSymbolContext,
- (uint32_t), resolve_scope);
+ LLDB_INSTRUMENT_VA(this, resolve_scope);
SBSymbolContext sb_sc;
SymbolContextItem scope = static_cast<SymbolContextItem>(resolve_scope);
if (m_opaque_up->IsValid())
m_opaque_up->CalculateSymbolContext(&sb_sc.ref(), scope);
- return LLDB_RECORD_RESULT(sb_sc);
+ return sb_sc;
}
SBCompileUnit SBAddress::GetCompileUnit() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBCompileUnit, SBAddress, GetCompileUnit);
+ LLDB_INSTRUMENT_VA(this);
SBCompileUnit sb_comp_unit;
if (m_opaque_up->IsValid())
sb_comp_unit.reset(m_opaque_up->CalculateSymbolContextCompileUnit());
- return LLDB_RECORD_RESULT(sb_comp_unit);
+ return sb_comp_unit;
}
SBFunction SBAddress::GetFunction() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBFunction, SBAddress, GetFunction);
+ LLDB_INSTRUMENT_VA(this);
SBFunction sb_function;
if (m_opaque_up->IsValid())
sb_function.reset(m_opaque_up->CalculateSymbolContextFunction());
- return LLDB_RECORD_RESULT(sb_function);
+ return sb_function;
}
SBBlock SBAddress::GetBlock() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBBlock, SBAddress, GetBlock);
+ LLDB_INSTRUMENT_VA(this);
SBBlock sb_block;
if (m_opaque_up->IsValid())
sb_block.SetPtr(m_opaque_up->CalculateSymbolContextBlock());
- return LLDB_RECORD_RESULT(sb_block);
+ return sb_block;
}
SBSymbol SBAddress::GetSymbol() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBSymbol, SBAddress, GetSymbol);
+ LLDB_INSTRUMENT_VA(this);
SBSymbol sb_symbol;
if (m_opaque_up->IsValid())
sb_symbol.reset(m_opaque_up->CalculateSymbolContextSymbol());
- return LLDB_RECORD_RESULT(sb_symbol);
+ return sb_symbol;
}
SBLineEntry SBAddress::GetLineEntry() {
- LLDB_RECORD_METHOD_NO_ARGS(lldb::SBLineEntry, SBAddress, GetLineEntry);
+ LLDB_INSTRUMENT_VA(this);
SBLineEntry sb_line_entry;
if (m_opaque_up->IsValid()) {
@@ -273,45 +264,5 @@ SBLineEntry SBAddress::GetLineEntry() {
if (m_opaque_up->CalculateSymbolContextLineEntry(line_entry))
sb_line_entry.SetLineEntry(line_entry);
}
- return LLDB_RECORD_RESULT(sb_line_entry);
-}
-
-namespace lldb_private {
-namespace repro {
-
-template <>
-void RegisterMethods<SBAddress>(Registry &R) {
- LLDB_REGISTER_CONSTRUCTOR(SBAddress, ());
- LLDB_REGISTER_CONSTRUCTOR(SBAddress, (const lldb::SBAddress &));
- LLDB_REGISTER_CONSTRUCTOR(SBAddress, (lldb::SBSection, lldb::addr_t));
- LLDB_REGISTER_CONSTRUCTOR(SBAddress, (lldb::addr_t, lldb::SBTarget &));
- LLDB_REGISTER_METHOD(const lldb::SBAddress &,
- SBAddress, operator=,(const lldb::SBAddress &));
- LLDB_REGISTER_METHOD_CONST(bool,
- SBAddress, operator!=,(const lldb::SBAddress &));
- LLDB_REGISTER_METHOD_CONST(bool, SBAddress, IsValid, ());
- LLDB_REGISTER_METHOD_CONST(bool, SBAddress, operator bool, ());
- LLDB_REGISTER_METHOD(void, SBAddress, Clear, ());
- LLDB_REGISTER_METHOD(void, SBAddress, SetAddress,
- (lldb::SBSection, lldb::addr_t));
- LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBAddress, GetFileAddress, ());
- LLDB_REGISTER_METHOD_CONST(lldb::addr_t, SBAddress, GetLoadAddress,
- (const lldb::SBTarget &));
- LLDB_REGISTER_METHOD(void, SBAddress, SetLoadAddress,
- (lldb::addr_t, lldb::SBTarget &));
- LLDB_REGISTER_METHOD(bool, SBAddress, OffsetAddress, (lldb::addr_t));
- LLDB_REGISTER_METHOD(lldb::SBSection, SBAddress, GetSection, ());
- LLDB_REGISTER_METHOD(lldb::addr_t, SBAddress, GetOffset, ());
- LLDB_REGISTER_METHOD(bool, SBAddress, GetDescription, (lldb::SBStream &));
- LLDB_REGISTER_METHOD(lldb::SBModule, SBAddress, GetModule, ());
- LLDB_REGISTER_METHOD(lldb::SBSymbolContext, SBAddress, GetSymbolContext,
- (uint32_t));
- LLDB_REGISTER_METHOD(lldb::SBCompileUnit, SBAddress, GetCompileUnit, ());
- LLDB_REGISTER_METHOD(lldb::SBFunction, SBAddress, GetFunction, ());
- LLDB_REGISTER_METHOD(lldb::SBBlock, SBAddress, GetBlock, ());
- LLDB_REGISTER_METHOD(lldb::SBSymbol, SBAddress, GetSymbol, ());
- LLDB_REGISTER_METHOD(lldb::SBLineEntry, SBAddress, GetLineEntry, ());
-}
-
-}
+ return sb_line_entry;
}