summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2014-09-20 09:14:31 +0000
committerJason Molenda <jmolenda@apple.com>2014-09-20 09:14:31 +0000
commite59b0d2c48c43f3350b210c72efe9aea3df1c15b (patch)
tree20fe4a971369688a74758b8f0aa9c2e65733afac /lldb/source
parentb8dbebb31c5d191e766e5e4bc6ea5b19b9bec0d5 (diff)
downloadbcm5719-llvm-e59b0d2c48c43f3350b210c72efe9aea3df1c15b.tar.gz
bcm5719-llvm-e59b0d2c48c43f3350b210c72efe9aea3df1c15b.zip
Have CommandObject::CheckRequirements() report the largest missing
requirement for a command instead of the smallest. e.g. if a command requires a Target, Process, Thread, and Frame, and none of those are available, report the largest -- Target -- as being missing instead of the smallest -- Frame. Patch by Paul Osmialowski. llvm-svn: 218181
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/Interpreter/CommandObject.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp
index d8eade836ba..f1a4609c093 100644
--- a/lldb/source/Interpreter/CommandObject.cpp
+++ b/lldb/source/Interpreter/CommandObject.cpp
@@ -236,19 +236,34 @@ CommandObject::CheckRequirements (CommandReturnObject &result)
if ((flags & eFlagRequiresProcess) && !m_exe_ctx.HasProcessScope())
{
- result.AppendError (GetInvalidProcessDescription());
+ if (!m_exe_ctx.HasTargetScope())
+ result.AppendError (GetInvalidTargetDescription());
+ else
+ result.AppendError (GetInvalidProcessDescription());
return false;
}
if ((flags & eFlagRequiresThread) && !m_exe_ctx.HasThreadScope())
{
- result.AppendError (GetInvalidThreadDescription());
+ if (!m_exe_ctx.HasTargetScope())
+ result.AppendError (GetInvalidTargetDescription());
+ else if (!m_exe_ctx.HasProcessScope())
+ result.AppendError (GetInvalidProcessDescription());
+ else
+ result.AppendError (GetInvalidThreadDescription());
return false;
}
if ((flags & eFlagRequiresFrame) && !m_exe_ctx.HasFrameScope())
{
- result.AppendError (GetInvalidFrameDescription());
+ if (!m_exe_ctx.HasTargetScope())
+ result.AppendError (GetInvalidTargetDescription());
+ else if (!m_exe_ctx.HasProcessScope())
+ result.AppendError (GetInvalidProcessDescription());
+ else if (!m_exe_ctx.HasThreadScope())
+ result.AppendError (GetInvalidThreadDescription());
+ else
+ result.AppendError (GetInvalidFrameDescription());
return false;
}
OpenPOWER on IntegriCloud