summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-mi/MICmdBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdBase.cpp')
-rw-r--r--lldb/tools/lldb-mi/MICmdBase.cpp282
1 files changed, 144 insertions, 138 deletions
diff --git a/lldb/tools/lldb-mi/MICmdBase.cpp b/lldb/tools/lldb-mi/MICmdBase.cpp
index 2f63205dd9b..c645d84c1e9 100644
--- a/lldb/tools/lldb-mi/MICmdBase.cpp
+++ b/lldb/tools/lldb-mi/MICmdBase.cpp
@@ -9,12 +9,13 @@
// In-house headers:
#include "MICmdBase.h"
-#include "MICmnMIValueConst.h"
-#include "MICmnLLDBDebugSessionInfo.h"
-#include "MICmdArgValOptionLong.h"
#include "MICmdArgValConsume.h"
+#include "MICmdArgValOptionLong.h"
+#include "MICmnLLDBDebugSessionInfo.h"
+#include "MICmnMIValueConst.h"
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: CMICmdBase constructor.
// Type: Method.
// Args: None.
@@ -22,44 +23,35 @@
// Throws: None.
//--
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)
-{
-}
+ : 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) {}
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: CMICmdBase destructor.
// Type: Overrideable.
// Args: None.
// Return: None.
// Throws: None.
//--
-CMICmdBase::~CMICmdBase()
-{
-}
+CMICmdBase::~CMICmdBase() {}
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: The invoker requires this function.
// Type: Overridden.
// Args: None.
// Return: SMICmdData & - *this command's present status/data/information.
// Throws: None.
//--
-const SMICmdData &
-CMICmdBase::GetCmdData() const
-{
- return m_cmdData;
-}
+const SMICmdData &CMICmdBase::GetCmdData() const { return m_cmdData; }
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: The invoker requires this function.
// Type: Overridden.
// Args: None.
@@ -67,169 +59,179 @@ CMICmdBase::GetCmdData() const
// Empty string indicates command status ok.
// Throws: None.
//--
-const CMIUtilString &
-CMICmdBase::GetErrorDescription() const
-{
- return m_strCurrentErrDescription;
+const CMIUtilString &CMICmdBase::GetErrorDescription() const {
+ return m_strCurrentErrDescription;
}
-//++ ------------------------------------------------------------------------------------
-// Details: The CMICmdFactory requires this function. Retrieve the command and argument
+//++
+//------------------------------------------------------------------------------------
+// Details: The CMICmdFactory requires this function. Retrieve the command and
+// argument
// options description string.
// Type: Overridden.
// Args: None.
// Return: CMIUtilString & - Command description.
// Throws: None.
//--
-const CMIUtilString &
-CMICmdBase::GetMiCmd() const
-{
- return m_strMiCmd;
-}
+const CMIUtilString &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));
+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.
+//++
+//------------------------------------------------------------------------------------
+// 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: None.
// Throws: None.
//--
-void
-CMICmdBase::SetCmdData(const SMICmdData &vCmdData)
-{
- m_cmdData = vCmdData;
+void CMICmdBase::SetCmdData(const SMICmdData &vCmdData) {
+ m_cmdData = vCmdData;
}
-//++ ------------------------------------------------------------------------------------
-// Details: The command factory requires this function. The factory calls this function
+//++
+//------------------------------------------------------------------------------------
+// Details: The command factory requires this function. The factory calls this
+// function
// so it can obtain *this command's creation function.
// Type: Overridden.
// Args: None.
// Return: CMICmdFactory::CmdCreatorFnPtr - Function pointer.
// Throws: None.
//--
-CMICmdFactory::CmdCreatorFnPtr
-CMICmdBase::GetCmdCreatorFn() const
-{
- return m_pSelfCreatorFn;
+CMICmdFactory::CmdCreatorFnPtr CMICmdBase::GetCmdCreatorFn() const {
+ return m_pSelfCreatorFn;
}
-//++ ------------------------------------------------------------------------------------
-// Details: If a command is an event type (has callbacks registered with SBListener) it
-// needs to inform the Invoker that it has finished its work so that the
-// Invoker can tidy up and call the commands Acknowledge function (yes the
-// command itself could call the Acknowledge itself but not doing that way).
+//++
+//------------------------------------------------------------------------------------
+// Details: If a command is an event type (has callbacks registered with
+// SBListener) it
+// needs to inform the Invoker that it has finished its work so that
+// the
+// Invoker can tidy up and call the commands Acknowledge function (yes
+// the
+// command itself could call the Acknowledge itself but not doing that
+// way).
// Type: Overridden.
// Args: None.
// Return: None.
// Throws: None.
//--
-void
-CMICmdBase::CmdFinishedTellInvoker() const
-{
- CMICmdInvoker::Instance().CmdExecuteFinished(const_cast<CMICmdBase &>(*this));
+void CMICmdBase::CmdFinishedTellInvoker() const {
+ CMICmdInvoker::Instance().CmdExecuteFinished(const_cast<CMICmdBase &>(*this));
}
-//++ ------------------------------------------------------------------------------------
-// Details: Returns the final version of the MI result record built up in the command's
+//++
+//------------------------------------------------------------------------------------
+// Details: Returns the final version of the MI result record built up in the
+// command's
// Acknowledge function. The one line text of MI result.
// Type: Overridden.
// Args: None.
// Return: CMIUtilString & - MI text version of the MI result record.
// Throws: None.
//--
-const CMIUtilString &
-CMICmdBase::GetMIResultRecord() const
-{
- return m_miResultRecord.GetString();
+const CMIUtilString &CMICmdBase::GetMIResultRecord() const {
+ return m_miResultRecord.GetString();
}
-//++ ------------------------------------------------------------------------------------
-// Details: Retrieve from the command additional MI result to its 1 line response.
-// Because of using LLDB additional 'fake'/hack output is sometimes required to
+//++
+//------------------------------------------------------------------------------------
+// Details: Retrieve from the command additional MI result to its 1 line
+// response.
+// Because of using LLDB additional 'fake'/hack output is sometimes
+// required to
// help the driver client operate i.e. Eclipse.
// Type: Overridden.
// Args: None.
// Return: CMIUtilString & - MI text version of the MI result record.
// Throws: None.
//--
-const CMIUtilString &
-CMICmdBase::GetMIResultRecordExtra() const
-{
- return m_miResultRecordExtra;
+const CMIUtilString &CMICmdBase::GetMIResultRecordExtra() const {
+ return m_miResultRecordExtra;
}
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: Hss *this command got additional MI result to its 1 line response.
-// Because of using LLDB additional 'fake'/hack output is sometimes required to
+// Because of using LLDB additional 'fake'/hack output is sometimes
+// required to
// help the driver client operate i.e. Eclipse.
// Type: Overridden.
// Args: None.
-// Return: bool - True = Yes have additional MI output, false = no nothing extra.
+// Return: bool - True = Yes have additional MI output, false = no nothing
+// extra.
// Throws: None.
//--
-bool
-CMICmdBase::HasMIResultRecordExtra() const
-{
- return m_bHasResultRecordExtra;
+bool CMICmdBase::HasMIResultRecordExtra() const {
+ return m_bHasResultRecordExtra;
}
-//++ ------------------------------------------------------------------------------------
-// Details: Short cut function to enter error information into the command's metadata
+//++
+//------------------------------------------------------------------------------------
+// Details: Short cut function to enter error information into the command's
+// metadata
// object and set the command's error status.
// Type: Method.
// Args: rErrMsg - (R) Error description.
// Return: None.
// Throws: None.
//--
-void
-CMICmdBase::SetError(const CMIUtilString &rErrMsg)
-{
- m_cmdData.bCmdValid = false;
- m_cmdData.strErrorDescription = rErrMsg;
- m_cmdData.bCmdExecutedSuccessfully = false;
+void CMICmdBase::SetError(const CMIUtilString &rErrMsg) {
+ m_cmdData.bCmdValid = false;
+ m_cmdData.strErrorDescription = rErrMsg;
+ m_cmdData.bCmdExecutedSuccessfully = false;
- const CMICmnMIValueResult valueResult("msg", CMICmnMIValueConst(rErrMsg));
- const CMICmnMIResultRecord miResultRecord(m_cmdData.strMiCmdToken, CMICmnMIResultRecord::eResultClass_Error, valueResult);
- m_miResultRecord = miResultRecord;
- m_cmdData.strMiCmdResultRecord = miResultRecord.GetString();
+ const CMICmnMIValueResult valueResult("msg", CMICmnMIValueConst(rErrMsg));
+ const CMICmnMIResultRecord miResultRecord(
+ m_cmdData.strMiCmdToken, CMICmnMIResultRecord::eResultClass_Error,
+ valueResult);
+ m_miResultRecord = miResultRecord;
+ m_cmdData.strMiCmdResultRecord = miResultRecord.GetString();
}
-//++ ------------------------------------------------------------------------------------
+//++
+//------------------------------------------------------------------------------------
// Details: Ask a command to provide its unique identifier.
// Type: Method.
// Args: A unique identifier for this command class.
// Return: None.
// Throws: None.
//--
-MIuint
-CMICmdBase::GetGUID()
-{
- MIuint64 vptr = reinterpret_cast<MIuint64>(this);
- MIuint id = (vptr)&0xFFFFFFFF;
- id ^= (vptr >> 32) & 0xFFFFFFFF;
+MIuint CMICmdBase::GetGUID() {
+ MIuint64 vptr = reinterpret_cast<MIuint64>(this);
+ MIuint id = (vptr)&0xFFFFFFFF;
+ id ^= (vptr >> 32) & 0xFFFFFFFF;
- return id;
+ return id;
}
-//++ ------------------------------------------------------------------------------------
-// Details: The invoker requires this function. The parses the command line options
+//++
+//------------------------------------------------------------------------------------
+// Details: The invoker requires this function. The parses the command line
+// options
// arguments to extract values for each of those arguments.
// Type: Overridden.
// Args: None.
@@ -237,18 +239,20 @@ CMICmdBase::GetGUID()
// MIstatus::failure - Functional failed.
// Throws: None.
//--
-bool
-CMICmdBase::ParseArgs()
-{
- // Do nothing - override to implement
+bool CMICmdBase::ParseArgs() {
+ // Do nothing - override to implement
- return MIstatus::success;
+ return MIstatus::success;
}
-//++ ------------------------------------------------------------------------------------
-// Details: Having previously given CMICmdArgSet m_setCmdArgs all the argument or option
-// definitions for the command to handle proceed to parse and validate the
-// command's options text for those arguments and extract the values for each if
+//++
+//------------------------------------------------------------------------------------
+// Details: Having previously given CMICmdArgSet m_setCmdArgs all the argument
+// or option
+// definitions for the command to handle proceed to parse and validate
+// the
+// command's options text for those arguments and extract the values
+// for each if
// any.
// Type: Method.
// Args: None.
@@ -256,31 +260,33 @@ CMICmdBase::ParseArgs()
// MIstatus::failure - Functional failed.
// Throws: None.
//--
-bool
-CMICmdBase::ParseValidateCmdOptions()
-{
- CMICmdArgContext argCntxt(m_cmdData.strMiCmdOption);
- if (m_setCmdArgs.Validate(m_cmdData.strMiCmd, argCntxt))
- return MIstatus::success;
+bool CMICmdBase::ParseValidateCmdOptions() {
+ CMICmdArgContext argCntxt(m_cmdData.strMiCmdOption);
+ if (m_setCmdArgs.Validate(m_cmdData.strMiCmd, argCntxt))
+ return MIstatus::success;
- SetError(CMIUtilString::Format(MIRSRC(IDS_CMD_ERR_ARGS), m_cmdData.strMiCmd.c_str(), m_setCmdArgs.GetErrorDescription().c_str()));
+ SetError(CMIUtilString::Format(MIRSRC(IDS_CMD_ERR_ARGS),
+ m_cmdData.strMiCmd.c_str(),
+ m_setCmdArgs.GetErrorDescription().c_str()));
- return MIstatus::failure;
+ return MIstatus::failure;
}
-//++ ------------------------------------------------------------------------------------
-// Details: If the MI Driver is not operating via a client i.e. Eclipse but say operating
-// on a executable passed in as a argument to the drive then what should the driver
-// do on a command failing? Either continue operating or exit the application.
-// Override this function where a command failure cannot allow the driver to
+//++
+//------------------------------------------------------------------------------------
+// Details: If the MI Driver is not operating via a client i.e. Eclipse but say
+// operating
+// on a executable passed in as a argument to the drive then what
+// should the driver
+// do on a command failing? Either continue operating or exit the
+// application.
+// Override this function where a command failure cannot allow the
+// driver to
// continue operating.
// Type: Overrideable.
// Args: None.
-// Return: bool - True = Fatal if command fails, false = can continue if command fails.
+// Return: bool - True = Fatal if command fails, false = can continue if
+// command fails.
// Throws: None.
//--
-bool
-CMICmdBase::GetExitAppOnCommandFailure() const
-{
- return false;
-}
+bool CMICmdBase::GetExitAppOnCommandFailure() const { return false; }
OpenPOWER on IntegriCloud