Skip to content

Commit 58fe7b7

Browse files
committed
[lldb] Change UnixSignals::GetSignalAsCString to GetSignalAsStringRef
This is in preparation to remove the uses of ConstString from UnixSignals. Differential Revision: https://reviews.llvm.org/D158209
1 parent 4d04bae commit 58fe7b7

File tree

9 files changed

+25
-29
lines changed

9 files changed

+25
-29
lines changed

lldb/include/lldb/Target/UnixSignals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class UnixSignals {
3030

3131
virtual ~UnixSignals();
3232

33-
const char *GetSignalAsCString(int32_t signo) const;
33+
llvm::StringRef GetSignalAsStringRef(int32_t signo) const;
3434

3535
std::string
3636
GetSignalDescription(int32_t signo,

lldb/source/API/SBUnixSignals.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ const char *SBUnixSignals::GetSignalAsCString(int32_t signo) const {
6666
LLDB_INSTRUMENT_VA(this, signo);
6767

6868
if (auto signals_sp = GetSP())
69-
return ConstString(signals_sp->GetSignalAsCString(signo)).GetCString();
69+
return ConstString(signals_sp->GetSignalAsStringRef(signo)).GetCString();
7070

7171
return nullptr;
7272
}

lldb/source/Commands/CommandObjectProcess.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,7 +1178,7 @@ class CommandObjectProcessSignal : public CommandObjectParsed {
11781178
UnixSignalsSP signals = m_exe_ctx.GetProcessPtr()->GetUnixSignals();
11791179
int signo = signals->GetFirstSignalNumber();
11801180
while (signo != LLDB_INVALID_SIGNAL_NUMBER) {
1181-
request.TryCompleteCurrentArg(signals->GetSignalAsCString(signo));
1181+
request.TryCompleteCurrentArg(signals->GetSignalAsStringRef(signo));
11821182
signo = signals->GetNextSignalNumber(signo);
11831183
}
11841184
}
@@ -1635,13 +1635,13 @@ class CommandObjectProcessHandle : public CommandObjectParsed {
16351635
str.Printf("=========== ===== ===== ======\n");
16361636
}
16371637

1638-
void PrintSignal(Stream &str, int32_t signo, const char *sig_name,
1638+
void PrintSignal(Stream &str, int32_t signo, llvm::StringRef sig_name,
16391639
const UnixSignalsSP &signals_sp) {
16401640
bool stop;
16411641
bool suppress;
16421642
bool notify;
16431643

1644-
str.Printf("%-11s ", sig_name);
1644+
str.Format("{0, -11} ", sig_name);
16451645
if (signals_sp->GetSignalInfo(signo, suppress, stop, notify)) {
16461646
bool pass = !suppress;
16471647
str.Printf("%s %s %s", (pass ? "true " : "false"),
@@ -1668,7 +1668,7 @@ class CommandObjectProcessHandle : public CommandObjectParsed {
16681668
{
16691669
int32_t signo = signals_sp->GetFirstSignalNumber();
16701670
while (signo != LLDB_INVALID_SIGNAL_NUMBER) {
1671-
PrintSignal(str, signo, signals_sp->GetSignalAsCString(signo),
1671+
PrintSignal(str, signo, signals_sp->GetSignalAsStringRef(signo),
16721672
signals_sp);
16731673
signo = signals_sp->GetNextSignalNumber(signo);
16741674
}

lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ GDBRemoteCommunicationServerPlatform::Handle_jSignalsInfo(
500500
auto dictionary = std::make_shared<StructuredData::Dictionary>();
501501

502502
dictionary->AddIntegerItem("signo", signo);
503-
dictionary->AddStringItem("name", signals->GetSignalAsCString(signo));
503+
dictionary->AddStringItem("name", signals->GetSignalAsStringRef(signo));
504504

505505
bool suppress, stop, notify;
506506
signals->GetSignalInfo(signo, suppress, stop, notify);

lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3384,10 +3384,10 @@ void ProcessGDBRemote::MonitorDebugserverProcess(
33843384
stream.Format(DEBUGSERVER_BASENAME " died with an exit status of {0:x8}",
33853385
exit_status);
33863386
else {
3387-
const char *signal_name =
3388-
process_sp->GetUnixSignals()->GetSignalAsCString(signo);
3387+
llvm::StringRef signal_name =
3388+
process_sp->GetUnixSignals()->GetSignalAsStringRef(signo);
33893389
const char *format_str = DEBUGSERVER_BASENAME " died with signal {0}";
3390-
if (signal_name)
3390+
if (!signal_name.empty())
33913391
stream.Format(format_str, signal_name);
33923392
else
33933393
stream.Format(format_str, signo);

lldb/source/Target/Process.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,11 +1125,9 @@ bool Process::SetProcessExitStatus(
11251125
if (target_sp) {
11261126
ProcessSP process_sp(target_sp->GetProcessSP());
11271127
if (process_sp) {
1128-
const char *signal_cstr = nullptr;
1129-
if (signo)
1130-
signal_cstr = process_sp->GetUnixSignals()->GetSignalAsCString(signo);
1131-
1132-
process_sp->SetExitStatus(exit_status, signal_cstr);
1128+
llvm::StringRef signal_str =
1129+
process_sp->GetUnixSignals()->GetSignalAsStringRef(signo);
1130+
process_sp->SetExitStatus(exit_status, signal_str);
11331131
}
11341132
}
11351133
return true;

lldb/source/Target/StopInfo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,9 +1067,9 @@ class StopInfoUnixSignal : public StopInfo {
10671067
thread_sp->GetProcess()->GetUnixSignals()->GetShouldNotify(m_value);
10681068
if (should_notify) {
10691069
StreamString strm;
1070-
strm.Printf(
1071-
"thread %d received signal: %s", thread_sp->GetIndexID(),
1072-
thread_sp->GetProcess()->GetUnixSignals()->GetSignalAsCString(
1070+
strm.Format(
1071+
"thread {0:d} received signal: {1}", thread_sp->GetIndexID(),
1072+
thread_sp->GetProcess()->GetUnixSignals()->GetSignalAsStringRef(
10731073
m_value));
10741074
Process::ProcessEventData::AddRestartedReason(event_ptr,
10751075
strm.GetData());

lldb/source/Target/UnixSignals.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,11 @@ void UnixSignals::RemoveSignal(int signo) {
131131
++m_version;
132132
}
133133

134-
const char *UnixSignals::GetSignalAsCString(int signo) const {
135-
collection::const_iterator pos = m_signals.find(signo);
134+
llvm::StringRef UnixSignals::GetSignalAsStringRef(int32_t signo) const {
135+
const auto pos = m_signals.find(signo);
136136
if (pos == m_signals.end())
137-
return nullptr;
138-
else
139-
return pos->second.m_name.GetCString();
137+
return {};
138+
return pos->second.m_name.GetStringRef();
140139
}
141140

142141
std::string

lldb/unittests/Signals/UnixSignalsTest.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ TEST(UnixSignalsTest, GetInfo) {
8484

8585
bool should_suppress = false, should_stop = false, should_notify = false;
8686
int32_t signo = 4;
87-
std::string name =
87+
llvm::StringRef name =
8888
signals.GetSignalInfo(signo, should_suppress, should_stop, should_notify);
8989
EXPECT_EQ("SIG4", name);
9090
EXPECT_EQ(true, should_suppress);
@@ -94,15 +94,14 @@ TEST(UnixSignalsTest, GetInfo) {
9494
EXPECT_EQ(true, signals.GetShouldSuppress(signo));
9595
EXPECT_EQ(false, signals.GetShouldStop(signo));
9696
EXPECT_EQ(true, signals.GetShouldNotify(signo));
97-
EXPECT_EQ(name, signals.GetSignalAsCString(signo));
97+
EXPECT_EQ(name, signals.GetSignalAsStringRef(signo));
9898
}
9999

100-
TEST(UnixSignalsTest, GetAsCString) {
100+
TEST(UnixSignalsTest, GetAsStringRef) {
101101
TestSignals signals;
102102

103-
ASSERT_EQ(nullptr, signals.GetSignalAsCString(100));
104-
std::string name = signals.GetSignalAsCString(16);
105-
ASSERT_EQ("SIG16", name);
103+
ASSERT_EQ(llvm::StringRef(), signals.GetSignalAsStringRef(100));
104+
ASSERT_EQ("SIG16", signals.GetSignalAsStringRef(16));
106105
}
107106

108107
TEST(UnixSignalsTest, GetAsString) {

0 commit comments

Comments
 (0)