diff options
Diffstat (limited to 'tools/lldb-mi/MICmdCmdData.h')
-rw-r--r-- | tools/lldb-mi/MICmdCmdData.h | 58 |
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; }; |