aboutsummaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmdBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmdBase.cpp')
-rw-r--r--tools/lldb-mi/MICmdBase.cpp59
1 files changed, 40 insertions, 19 deletions
diff --git a/tools/lldb-mi/MICmdBase.cpp b/tools/lldb-mi/MICmdBase.cpp
index 97bf5a074d6d..2f63205dd9b7 100644
--- a/tools/lldb-mi/MICmdBase.cpp
+++ b/tools/lldb-mi/MICmdBase.cpp
@@ -11,6 +11,8 @@
#include "MICmdBase.h"
#include "MICmnMIValueConst.h"
#include "MICmnLLDBDebugSessionInfo.h"
+#include "MICmdArgValOptionLong.h"
+#include "MICmdArgValConsume.h"
//++ ------------------------------------------------------------------------------------
// Details: CMICmdBase constructor.
@@ -19,10 +21,17 @@
// Return: None.
// Throws: None.
//--
-CMICmdBase::CMICmdBase(void)
+CMICmdBase::CMICmdBase()
: m_pSelfCreatorFn(nullptr)
, m_rLLDBDebugSessionInfo(CMICmnLLDBDebugSessionInfo::Instance())
, m_bHasResultRecordExtra(false)
+ , m_constStrArgThreadGroup("thread-group")
+ , m_constStrArgThread("thread")
+ , m_constStrArgFrame("frame")
+ , m_constStrArgConsume("--")
+ , m_ThreadGrpArgMandatory(false)
+ , m_ThreadArgMandatory(false)
+ , m_FrameArgMandatory(false)
{
}
@@ -33,7 +42,7 @@ CMICmdBase::CMICmdBase(void)
// Return: None.
// Throws: None.
//--
-CMICmdBase::~CMICmdBase(void)
+CMICmdBase::~CMICmdBase()
{
}
@@ -45,7 +54,7 @@ CMICmdBase::~CMICmdBase(void)
// Throws: None.
//--
const SMICmdData &
-CMICmdBase::GetCmdData(void) const
+CMICmdBase::GetCmdData() const
{
return m_cmdData;
}
@@ -59,7 +68,7 @@ CMICmdBase::GetCmdData(void) const
// Throws: None.
//--
const CMIUtilString &
-CMICmdBase::GetErrorDescription(void) const
+CMICmdBase::GetErrorDescription() const
{
return m_strCurrentErrDescription;
}
@@ -73,26 +82,38 @@ CMICmdBase::GetErrorDescription(void) const
// Throws: None.
//--
const CMIUtilString &
-CMICmdBase::GetMiCmd(void) const
+CMICmdBase::GetMiCmd() const
{
return m_strMiCmd;
}
//++ ------------------------------------------------------------------------------------
+// Details: Help parse the arguments that are common to all commands.
+// Args: None.
+// Return: None
+// Throws: None.
+//--
+void
+CMICmdBase::AddCommonArgs()
+{
+ m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThreadGroup, m_ThreadGrpArgMandatory, true, CMICmdArgValListBase::eArgValType_ThreadGrp, 1));
+ m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgThread, m_ThreadArgMandatory, true, CMICmdArgValListBase::eArgValType_Number, 1));
+ m_setCmdArgs.Add(new CMICmdArgValOptionLong(m_constStrArgFrame, m_FrameArgMandatory, true, CMICmdArgValListBase::eArgValType_Number, 1));
+ m_setCmdArgs.Add(new CMICmdArgValConsume(m_constStrArgConsume, false));
+}
+
+//++ ------------------------------------------------------------------------------------
// Details: The invoker requires this function. A command must be given working data and
// provide data about its status or provide information to other objects.
// Type: Overridden.
// Args: None.
-// Return: MIstatus::success - Functional succeeded.
-// MIstatus::failure - Functional failed.
+// Return: None.
// Throws: None.
//--
-bool
+void
CMICmdBase::SetCmdData(const SMICmdData &vCmdData)
{
m_cmdData = vCmdData;
-
- return MIstatus::success;
}
//++ ------------------------------------------------------------------------------------
@@ -104,7 +125,7 @@ CMICmdBase::SetCmdData(const SMICmdData &vCmdData)
// Throws: None.
//--
CMICmdFactory::CmdCreatorFnPtr
-CMICmdBase::GetCmdCreatorFn(void) const
+CMICmdBase::GetCmdCreatorFn() const
{
return m_pSelfCreatorFn;
}
@@ -120,7 +141,7 @@ CMICmdBase::GetCmdCreatorFn(void) const
// Throws: None.
//--
void
-CMICmdBase::CmdFinishedTellInvoker(void) const
+CMICmdBase::CmdFinishedTellInvoker() const
{
CMICmdInvoker::Instance().CmdExecuteFinished(const_cast<CMICmdBase &>(*this));
}
@@ -134,7 +155,7 @@ CMICmdBase::CmdFinishedTellInvoker(void) const
// Throws: None.
//--
const CMIUtilString &
-CMICmdBase::GetMIResultRecord(void) const
+CMICmdBase::GetMIResultRecord() const
{
return m_miResultRecord.GetString();
}
@@ -149,7 +170,7 @@ CMICmdBase::GetMIResultRecord(void) const
// Throws: None.
//--
const CMIUtilString &
-CMICmdBase::GetMIResultRecordExtra(void) const
+CMICmdBase::GetMIResultRecordExtra() const
{
return m_miResultRecordExtra;
}
@@ -164,7 +185,7 @@ CMICmdBase::GetMIResultRecordExtra(void) const
// Throws: None.
//--
bool
-CMICmdBase::HasMIResultRecordExtra(void) const
+CMICmdBase::HasMIResultRecordExtra() const
{
return m_bHasResultRecordExtra;
}
@@ -198,7 +219,7 @@ CMICmdBase::SetError(const CMIUtilString &rErrMsg)
// Throws: None.
//--
MIuint
-CMICmdBase::GetGUID(void)
+CMICmdBase::GetGUID()
{
MIuint64 vptr = reinterpret_cast<MIuint64>(this);
MIuint id = (vptr)&0xFFFFFFFF;
@@ -217,7 +238,7 @@ CMICmdBase::GetGUID(void)
// Throws: None.
//--
bool
-CMICmdBase::ParseArgs(void)
+CMICmdBase::ParseArgs()
{
// Do nothing - override to implement
@@ -236,7 +257,7 @@ CMICmdBase::ParseArgs(void)
// Throws: None.
//--
bool
-CMICmdBase::ParseValidateCmdOptions(void)
+CMICmdBase::ParseValidateCmdOptions()
{
CMICmdArgContext argCntxt(m_cmdData.strMiCmdOption);
if (m_setCmdArgs.Validate(m_cmdData.strMiCmd, argCntxt))
@@ -259,7 +280,7 @@ CMICmdBase::ParseValidateCmdOptions(void)
// Throws: None.
//--
bool
-CMICmdBase::GetExitAppOnCommandFailure(void) const
+CMICmdBase::GetExitAppOnCommandFailure() const
{
return false;
}