diff options
Diffstat (limited to 'tools/lldb-mi/MICmdCmdStack.h')
| -rw-r--r-- | tools/lldb-mi/MICmdCmdStack.h | 113 |
1 files changed, 97 insertions, 16 deletions
diff --git a/tools/lldb-mi/MICmdCmdStack.h b/tools/lldb-mi/MICmdCmdStack.h index ebef7e197f5f..ed141fcf942f 100644 --- a/tools/lldb-mi/MICmdCmdStack.h +++ b/tools/lldb-mi/MICmdCmdStack.h @@ -7,13 +7,12 @@ // //===----------------------------------------------------------------------===// -//++ -// File: MICmdCmdStack.h -// // Overview: CMICmdCmdStackInfoDepth interface. +// CMICmdCmdStackInfoFrame interface. // CMICmdCmdStackListFrames interface. // CMICmdCmdStackListArguments interface. // CMICmdCmdStackListLocals interface. +// CMICmdCmdStackSelectFrame 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 @@ -23,19 +22,13 @@ // MICmdCmd.h / .cpp // 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 // In-house headers: #include "MICmdBase.h" #include "MICmnMIValueList.h" +#include "MICmnMIValueTuple.h" //++ ============================================================================ // Details: MI command class. MI commands derived from the command base class. @@ -73,6 +66,35 @@ class CMICmdCmdStackInfoDepth : public CMICmdBase //++ ============================================================================ // Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "stack-info-frame". +//-- +class CMICmdCmdStackInfoFrame : public CMICmdBase +{ + // Statics: + public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(void); + + // Methods: + public: + /* ctor */ CMICmdCmdStackInfoFrame(void); + + // Overridden: + public: + // From CMICmdInvoker::ICmd + virtual bool Execute(void); + virtual bool Acknowledge(void); + virtual bool ParseArgs(void); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdStackInfoFrame(void); + + // Attributes: + private: + CMICmnMIValueTuple m_miValueTuple; +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "stack-list-frames". // Gotchas: None. // Authors: Illya Rudkin 21/03/2014. @@ -144,9 +166,8 @@ class CMICmdCmdStackListArguments : public CMICmdBase CMICmnMIValueList m_miValueList; const CMIUtilString m_constStrArgThread; // Not specified in MI spec but Eclipse gives this option const CMIUtilString m_constStrArgPrintValues; - const CMIUtilString m_constStrArgNoValues; - const CMIUtilString m_constStrArgAllValues; - const CMIUtilString m_constStrArgSimpleValues; + const CMIUtilString m_constStrArgFrameLow; + const CMIUtilString m_constStrArgFrameHigh; }; //++ ============================================================================ @@ -183,7 +204,67 @@ class CMICmdCmdStackListLocals : public CMICmdBase const CMIUtilString m_constStrArgThread; // Not specified in MI spec but Eclipse gives this option const CMIUtilString m_constStrArgFrame; // Not specified in MI spec but Eclipse gives this option const CMIUtilString m_constStrArgPrintValues; - const CMIUtilString m_constStrArgNoValues; - const CMIUtilString m_constStrArgAllValues; - const CMIUtilString m_constStrArgSimpleValues; +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "stack-list-variables". +//-- +class CMICmdCmdStackListVariables : public CMICmdBase +{ + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(void); + + // Methods: +public: + /* ctor */ CMICmdCmdStackListVariables(void); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + virtual bool Execute(void); + virtual bool Acknowledge(void); + virtual bool ParseArgs(void); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdStackListVariables(void); + + // Attributes +private: + bool m_bThreadInvalid; // True = yes invalid thread, false = thread object valid + CMICmnMIValueList m_miValueList; + const CMIUtilString m_constStrArgThread; + const CMIUtilString m_constStrArgFrame; + const CMIUtilString m_constStrArgPrintValues; +}; + +//++ ============================================================================ +// Details: MI command class. MI commands derived from the command base class. +// *this class implements MI command "stack-select-frame". +//-- +class CMICmdCmdStackSelectFrame : public CMICmdBase +{ + // Statics: + public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(void); + + // Methods: + public: + /* ctor */ CMICmdCmdStackSelectFrame(void); + + // Overridden: + public: + // From CMICmdInvoker::ICmd + virtual bool Execute(void); + virtual bool Acknowledge(void); + virtual bool ParseArgs(void); + // From CMICmnBase + /* dtor */ virtual ~CMICmdCmdStackSelectFrame(void); + + // Attributes: + private: + bool m_bFrameInvalid; // True = yes invalid frame, false = ok + const CMIUtilString m_constStrArgFrame; }; |
