summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/ThreadPlanCallUserExpression.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2011-11-01 02:46:54 +0000
committerJim Ingham <jingham@apple.com>2011-11-01 02:46:54 +0000
commitce553d885abcce514e52618f0fd44f3c6940f171 (patch)
tree6eeb3eec23ea8d3a73cc27b1ed27f04efcc16cf3 /lldb/source/Target/ThreadPlanCallUserExpression.cpp
parentfc08bdcc5761b64b0affc5ba9d7ab19812402089 (diff)
downloadbcm5719-llvm-ce553d885abcce514e52618f0fd44f3c6940f171.tar.gz
bcm5719-llvm-ce553d885abcce514e52618f0fd44f3c6940f171.zip
Enhanced the ObjC DynamicCheckerFunction to test for "object responds to selector" as well as
"object borked"... Also made the error when the checker fails reflect this fact rather than report a crash at 0x0. Also a little cleanup: - StopInfoMachException had a redundant copy of the description string. - ThreadPlanCallFunction had a redundant copy of the thread, and had a copy of the process that it didn't really need. llvm-svn: 143419
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallUserExpression.cpp')
-rw-r--r--lldb/source/Target/ThreadPlanCallUserExpression.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/lldb/source/Target/ThreadPlanCallUserExpression.cpp b/lldb/source/Target/ThreadPlanCallUserExpression.cpp
index dc27b2be200..0499a7c7ce4 100644
--- a/lldb/source/Target/ThreadPlanCallUserExpression.cpp
+++ b/lldb/source/Target/ThreadPlanCallUserExpression.cpp
@@ -55,6 +55,20 @@ ThreadPlanCallUserExpression::~ThreadPlanCallUserExpression ()
void
ThreadPlanCallUserExpression::GetDescription (Stream *s, lldb::DescriptionLevel level)
-{
+{
ThreadPlanCallFunction::GetDescription (s, level);
}
+
+StopInfoSP
+ThreadPlanCallUserExpression::GetRealStopInfo()
+{
+ StopInfoSP stop_info_sp = ThreadPlanCallFunction::GetRealStopInfo();
+ lldb::addr_t addr = GetStopAddress();
+ DynamicCheckerFunctions *checkers = m_thread.GetProcess().GetDynamicCheckers();
+ StreamString s;
+
+ if (checkers && checkers->DoCheckersExplainStop(addr, s))
+ stop_info_sp->SetDescription(s.GetData());
+
+ return stop_info_sp;
+}
OpenPOWER on IntegriCloud