forked from OSchip/llvm-project
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
This commit is contained in:
parent
b8dbebb31c
commit
e59b0d2c48
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue