summaryrefslogtreecommitdiffstats
path: root/lldb/source/Breakpoint
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Breakpoint')
-rw-r--r--lldb/source/Breakpoint/Breakpoint.cpp14
-rw-r--r--lldb/source/Breakpoint/BreakpointOptions.cpp28
-rw-r--r--lldb/source/Breakpoint/BreakpointResolver.cpp2
-rw-r--r--lldb/source/Breakpoint/BreakpointResolverAddress.cpp3
-rw-r--r--lldb/source/Breakpoint/BreakpointResolverFileLine.cpp3
-rw-r--r--lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp3
-rw-r--r--lldb/source/Breakpoint/BreakpointResolverName.cpp3
7 files changed, 29 insertions, 27 deletions
diff --git a/lldb/source/Breakpoint/Breakpoint.cpp b/lldb/source/Breakpoint/Breakpoint.cpp
index a73b82ea036..34349f7dd31 100644
--- a/lldb/source/Breakpoint/Breakpoint.cpp
+++ b/lldb/source/Breakpoint/Breakpoint.cpp
@@ -148,8 +148,8 @@ lldb::BreakpointSP Breakpoint::CreateFromStructuredData(
filter_sp.reset(
new SearchFilterForUnconstrainedSearches(target.shared_from_this()));
else {
- filter_sp.reset(SearchFilter::CreateFromStructuredData(target, *filter_dict,
- create_error));
+ filter_sp = SearchFilter::CreateFromStructuredData(target, *filter_dict,
+ create_error);
if (create_error.Fail()) {
error.SetErrorStringWithFormat(
"Error creating breakpoint filter from data: %s.",
@@ -158,13 +158,13 @@ lldb::BreakpointSP Breakpoint::CreateFromStructuredData(
}
}
- BreakpointOptions *options = nullptr;
+ std::unique_ptr<BreakpointOptions> options_up;
StructuredData::Dictionary *options_dict;
success = breakpoint_dict->GetValueForKeyAsDictionary(
BreakpointOptions::GetSerializationKey(), options_dict);
if (success) {
- options = BreakpointOptions::CreateFromStructuredData(*options_dict,
- create_error);
+ options_up = BreakpointOptions::CreateFromStructuredData(*options_dict,
+ create_error);
if (create_error.Fail()) {
error.SetErrorStringWithFormat(
"Error creating breakpoint options from data: %s.",
@@ -174,8 +174,8 @@ lldb::BreakpointSP Breakpoint::CreateFromStructuredData(
}
result_sp =
target.CreateBreakpoint(filter_sp, resolver_sp, false, false, true);
- if (result_sp && options) {
- result_sp->m_options_up.reset(options);
+ if (result_sp && options_up) {
+ result_sp->m_options_up = std::move(options_up);
}
return result_sp;
}
diff --git a/lldb/source/Breakpoint/BreakpointOptions.cpp b/lldb/source/Breakpoint/BreakpointOptions.cpp
index bf24ee0dbac..47b6715b9b5 100644
--- a/lldb/source/Breakpoint/BreakpointOptions.cpp
+++ b/lldb/source/Breakpoint/BreakpointOptions.cpp
@@ -45,13 +45,11 @@ BreakpointOptions::CommandData::SerializeToStructuredData() {
stop_on_error);
StructuredData::ArraySP user_source_sp(new StructuredData::Array());
- if (num_strings > 0) {
- for (size_t i = 0; i < num_strings; i++) {
- StructuredData::StringSP item_sp(
- new StructuredData::String(user_source[i]));
- user_source_sp->AddItem(item_sp);
- options_dict_sp->AddItem(GetKey(OptionNames::UserSource), user_source_sp);
- }
+ for (size_t i = 0; i < num_strings; i++) {
+ StructuredData::StringSP item_sp(
+ new StructuredData::String(user_source[i]));
+ user_source_sp->AddItem(item_sp);
+ options_dict_sp->AddItem(GetKey(OptionNames::UserSource), user_source_sp);
}
if (!script_source.empty()) {
@@ -61,9 +59,9 @@ BreakpointOptions::CommandData::SerializeToStructuredData() {
return options_dict_sp;
}
-BreakpointOptions::CommandData *
+std::unique_ptr<BreakpointOptions::CommandData>
BreakpointOptions::CommandData::CreateFromStructuredData(
- StructuredData::Dictionary &options_dict, Error &error) {
+ const StructuredData::Dictionary &options_dict, Error &error) {
std::string script_source;
CommandData *data = new CommandData();
bool success = options_dict.GetValueForKeyAsBoolean(
@@ -84,7 +82,7 @@ BreakpointOptions::CommandData::CreateFromStructuredData(
data->user_source.AppendString(elem_string);
}
}
- return data;
+ return std::unique_ptr<BreakpointOptions::CommandData>(data);
}
const char *BreakpointOptions::g_option_names
@@ -169,8 +167,8 @@ BreakpointOptions::CopyOptionsNoCallback(BreakpointOptions &orig) {
//----------------------------------------------------------------------
BreakpointOptions::~BreakpointOptions() = default;
-BreakpointOptions *BreakpointOptions::CreateFromStructuredData(
- StructuredData::Dictionary &options_dict, Error &error) {
+std::unique_ptr<BreakpointOptions> BreakpointOptions::CreateFromStructuredData(
+ const StructuredData::Dictionary &options_dict, Error &error) {
bool enabled = true;
bool one_shot = false;
int32_t ignore_count = 0;
@@ -199,7 +197,7 @@ BreakpointOptions *BreakpointOptions::CreateFromStructuredData(
return nullptr;
}
- BreakpointOptions::CommandData *cmd_data = nullptr;
+ std::unique_ptr<CommandData> cmd_data;
StructuredData::Dictionary *cmds_dict;
success = options_dict.GetValueForKeyAsDictionary(
CommandData::GetSerializationKey(), cmds_dict);
@@ -217,8 +215,8 @@ BreakpointOptions *BreakpointOptions::CreateFromStructuredData(
BreakpointOptions *bp_options = new BreakpointOptions(
condition_text.c_str(), enabled, ignore_count, one_shot);
if (cmd_data)
- bp_options->SetCommandDataCallback(cmd_data);
- return bp_options;
+ bp_options->SetCommandDataCallback(cmd_data.release());
+ return std::unique_ptr<BreakpointOptions>(bp_options);
}
StructuredData::ObjectSP BreakpointOptions::SerializeToStructuredData() {
diff --git a/lldb/source/Breakpoint/BreakpointResolver.cpp b/lldb/source/Breakpoint/BreakpointResolver.cpp
index 5a93d570007..a7c63c6fabb 100644
--- a/lldb/source/Breakpoint/BreakpointResolver.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolver.cpp
@@ -72,7 +72,7 @@ BreakpointResolver::BreakpointResolver(Breakpoint *bkpt,
BreakpointResolver::~BreakpointResolver() {}
BreakpointResolverSP BreakpointResolver::CreateFromStructuredData(
- StructuredData::Dictionary &resolver_dict, Error &error) {
+ const StructuredData::Dictionary &resolver_dict, Error &error) {
BreakpointResolverSP result_sp;
if (!resolver_dict.IsValid()) {
error.SetErrorString("Can't deserialize from an invalid data object.");
diff --git a/lldb/source/Breakpoint/BreakpointResolverAddress.cpp b/lldb/source/Breakpoint/BreakpointResolverAddress.cpp
index cf8637b8b9f..a866f6108e8 100644
--- a/lldb/source/Breakpoint/BreakpointResolverAddress.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolverAddress.cpp
@@ -43,7 +43,8 @@ BreakpointResolverAddress::BreakpointResolverAddress(Breakpoint *bkpt,
BreakpointResolverAddress::~BreakpointResolverAddress() {}
BreakpointResolver *BreakpointResolverAddress::CreateFromStructuredData(
- Breakpoint *bkpt, StructuredData::Dictionary &options_dict, Error &error) {
+ Breakpoint *bkpt, const StructuredData::Dictionary &options_dict,
+ Error &error) {
std::string module_name;
lldb::addr_t addr_offset;
FileSpec module_filespec;
diff --git a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
index 5f0b0d20eb8..f3f20bc8cca 100644
--- a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
@@ -37,7 +37,8 @@ BreakpointResolverFileLine::BreakpointResolverFileLine(
BreakpointResolverFileLine::~BreakpointResolverFileLine() {}
BreakpointResolver *BreakpointResolverFileLine::CreateFromStructuredData(
- Breakpoint *bkpt, StructuredData::Dictionary &options_dict, Error &error) {
+ Breakpoint *bkpt, const StructuredData::Dictionary &options_dict,
+ Error &error) {
std::string filename;
uint32_t line_no;
bool check_inlines;
diff --git a/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp b/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
index da8b7b3ed1a..ae2e0949f9f 100644
--- a/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
@@ -37,7 +37,8 @@ BreakpointResolverFileRegex::BreakpointResolverFileRegex(
BreakpointResolverFileRegex::~BreakpointResolverFileRegex() {}
BreakpointResolver *BreakpointResolverFileRegex::CreateFromStructuredData(
- Breakpoint *bkpt, StructuredData::Dictionary &options_dict, Error &error) {
+ Breakpoint *bkpt, const StructuredData::Dictionary &options_dict,
+ Error &error) {
bool success;
std::string regex_string;
diff --git a/lldb/source/Breakpoint/BreakpointResolverName.cpp b/lldb/source/Breakpoint/BreakpointResolverName.cpp
index a946ba3594b..175eebd557d 100644
--- a/lldb/source/Breakpoint/BreakpointResolverName.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolverName.cpp
@@ -91,7 +91,8 @@ BreakpointResolverName::BreakpointResolverName(
m_language(rhs.m_language), m_skip_prologue(rhs.m_skip_prologue) {}
BreakpointResolver *BreakpointResolverName::CreateFromStructuredData(
- Breakpoint *bkpt, StructuredData::Dictionary &options_dict, Error &error) {
+ Breakpoint *bkpt, const StructuredData::Dictionary &options_dict,
+ Error &error) {
LanguageType language = eLanguageTypeUnknown;
std::string language_name;
bool success = options_dict.GetValueForKeyAsString(
OpenPOWER on IntegriCloud