aboutsummaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmdCmdData.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmdCmdData.h')
-rw-r--r--tools/lldb-mi/MICmdCmdData.h58
1 files changed, 42 insertions, 16 deletions
diff --git a/tools/lldb-mi/MICmdCmdData.h b/tools/lldb-mi/MICmdCmdData.h
index 5084beea6d8f..11873e9cbe4f 100644
--- a/tools/lldb-mi/MICmdCmdData.h
+++ b/tools/lldb-mi/MICmdCmdData.h
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-//++
-// File: MICmdCmdData.h
-//
// Overview: CMICmdCmdDataEvaluateExpression interface.
// CMICmdCmdDataDisassemble interface.
// CMICmdCmdDataReadMemoryBytes interface.
@@ -19,6 +16,7 @@
// CMICmdCmdDataListRegisterChanged interface.
// CMICmdCmdDataWriteMemoryBytes interface.
// CMICmdCmdDataWriteMemory interface.
+// CMICmdCmdDataInfoLine interface.
//
// To implement new MI commands derive a new command class from the command base
// class. To enable the new command for interpretation add the new command class
@@ -29,15 +27,12 @@
// For an introduction to adding a new command see CMICmdCmdSupportInfoMiCmdQuery
// command class as an example.
//
-// Environment: Compilers: Visual C++ 12.
-// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
-// Libraries: See MIReadmetxt.
-//
-// Copyright: None.
-//--
#pragma once
+// Third party headers:
+#include "lldb/API/SBCommandReturnObject.h"
+
// In-house headers:
#include "MICmdBase.h"
#include "MICmnMIValueTuple.h"
@@ -73,7 +68,7 @@ class CMICmdCmdDataEvaluateExpression : public CMICmdBase
// Methods:
private:
- bool HaveInvalidCharacterInExpression(const CMIUtilString &vrExpr, MIchar &vrwInvalidChar);
+ bool HaveInvalidCharacterInExpression(const CMIUtilString &vrExpr, char &vrwInvalidChar);
// Attributes:
private:
@@ -83,7 +78,7 @@ class CMICmdCmdDataEvaluateExpression : public CMICmdBase
CMICmnMIValueTuple m_miValueTuple;
bool m_bCompositeVarType; // True = yes composite type, false = internal type
bool m_bFoundInvalidChar; // True = yes found unexpected character in the expression, false = all ok
- MIchar m_cExpressionInvalidChar;
+ char m_cExpressionInvalidChar;
const CMIUtilString m_constStrArgThread; // Not specified in MI spec but Eclipse gives this option. Not handled by command.
const CMIUtilString m_constStrArgFrame; // Not specified in MI spec but Eclipse gives this option. Not handled by command.
const CMIUtilString m_constStrArgExpr;
@@ -155,14 +150,14 @@ class CMICmdCmdDataReadMemoryBytes : public CMICmdBase
// Attributes:
private:
- const CMIUtilString m_constStrArgThread; // Not specified in MI spec but Eclipse gives this option. Not handled by command.
+ const CMIUtilString m_constStrArgThread; // Not in the MI spec but implemented by GDB.
+ const CMIUtilString m_constStrArgFrame; // Not in the MI spec but implemented by GDB.
const CMIUtilString m_constStrArgByteOffset;
- const CMIUtilString m_constStrArgAddrStart;
+ const CMIUtilString m_constStrArgAddrExpr;
const CMIUtilString m_constStrArgNumBytes;
- MIuchar *m_pBufferMemory;
+ unsigned char *m_pBufferMemory;
MIuint64 m_nAddrStart;
MIuint64 m_nAddrNumBytesToRead;
- MIuint64 m_nAddrOffset;
};
//++ ============================================================================
@@ -373,5 +368,36 @@ class CMICmdCmdDataWriteMemory : public CMICmdBase
MIuint64 m_nAddr;
CMIUtilString m_strContents;
MIuint64 m_nCount;
- MIuchar *m_pBufferMemory;
+ unsigned char *m_pBufferMemory;
+};
+
+//++ ============================================================================
+// Details: MI command class. MI commands derived from the command base class.
+// *this class implements MI command "data-info-line".
+// See MIExtensions.txt for details.
+//--
+class CMICmdCmdDataInfoLine : public CMICmdBase
+{
+ // Statics:
+ public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase *CreateSelf(void);
+
+ // Methods:
+ public:
+ /* ctor */ CMICmdCmdDataInfoLine(void);
+
+ // Overridden:
+ public:
+ // From CMICmdInvoker::ICmd
+ virtual bool Execute(void);
+ virtual bool Acknowledge(void);
+ virtual bool ParseArgs(void);
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmdCmdDataInfoLine(void);
+
+ // Attributes:
+ private:
+ lldb::SBCommandReturnObject m_lldbResult;
+ const CMIUtilString m_constStrArgLocation;
};