diff options
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdCmdVar.h')
-rw-r--r-- | lldb/tools/lldb-mi/MICmdCmdVar.h | 535 |
1 files changed, 270 insertions, 265 deletions
diff --git a/lldb/tools/lldb-mi/MICmdCmdVar.h b/lldb/tools/lldb-mi/MICmdCmdVar.h index a6790877346..7bf583bfd36 100644 --- a/lldb/tools/lldb-mi/MICmdCmdVar.h +++ b/lldb/tools/lldb-mi/MICmdCmdVar.h @@ -17,328 +17,333 @@ // CMICmdCmdVarInfoPathExpression interface. // CMICmdCmdVarShowAttributes 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 +// 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 // to the command factory. The files of relevance are: // MICmdCommands.cpp // MICmdBase.h / .cpp // MICmdCmd.h / .cpp -// For an introduction to adding a new command see CMICmdCmdSupportInfoMiCmdQuery +// For an introduction to adding a new command see +// CMICmdCmdSupportInfoMiCmdQuery // command class as an example. #pragma once // In-house headers: #include "MICmdBase.h" -#include "MICmnMIValueTuple.h" -#include "MICmnMIValueList.h" #include "MICmnLLDBDebugSessionInfo.h" #include "MICmnLLDBDebugSessionInfoVarObj.h" +#include "MICmnMIValueList.h" +#include "MICmnMIValueTuple.h" // Declarations: class CMICmnLLDBDebugSessionInfoVarObj; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-create". //-- -class CMICmdCmdVarCreate : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarCreate(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - - // Overridden: - public: - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarCreate() override; - - // Methods: - private: - void CompleteSBValue(lldb::SBValue &vrwValue); - - // Attribute: - private: - CMIUtilString m_strVarName; - MIuint m_nChildren; - MIuint64 m_nThreadId; - CMIUtilString m_strType; - bool m_bValid; // True = Variable is valid, false = not valid - CMIUtilString m_strExpression; - CMIUtilString m_strValue; - const CMIUtilString m_constStrArgName; - const CMIUtilString m_constStrArgFrameAddr; - const CMIUtilString m_constStrArgExpression; +class CMICmdCmdVarCreate : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarCreate(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + + // Overridden: +public: + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarCreate() override; + + // Methods: +private: + void CompleteSBValue(lldb::SBValue &vrwValue); + + // Attribute: +private: + CMIUtilString m_strVarName; + MIuint m_nChildren; + MIuint64 m_nThreadId; + CMIUtilString m_strType; + bool m_bValid; // True = Variable is valid, false = not valid + CMIUtilString m_strExpression; + CMIUtilString m_strValue; + const CMIUtilString m_constStrArgName; + const CMIUtilString m_constStrArgFrameAddr; + const CMIUtilString m_constStrArgExpression; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-update". //-- -class CMICmdCmdVarUpdate : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarUpdate(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - - // Overridden: - public: - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarUpdate() override; - - // Methods: - private: - bool ExamineSBValueForChange(lldb::SBValue &vrwValue, bool &vrwbChanged); - void MIFormResponse(const CMIUtilString &vrStrVarName, const char *const vpValue, const CMIUtilString &vrStrScope); - - // Attribute: - private: - const CMIUtilString m_constStrArgPrintValues; - const CMIUtilString m_constStrArgName; - bool m_bValueChanged; // True = yes value changed, false = no change - CMICmnMIValueList m_miValueList; +class CMICmdCmdVarUpdate : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarUpdate(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + + // Overridden: +public: + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarUpdate() override; + + // Methods: +private: + bool ExamineSBValueForChange(lldb::SBValue &vrwValue, bool &vrwbChanged); + void MIFormResponse(const CMIUtilString &vrStrVarName, + const char *const vpValue, + const CMIUtilString &vrStrScope); + + // Attribute: +private: + const CMIUtilString m_constStrArgPrintValues; + const CMIUtilString m_constStrArgName; + bool m_bValueChanged; // True = yes value changed, false = no change + CMICmnMIValueList m_miValueList; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-delete". //-- -class CMICmdCmdVarDelete : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarDelete(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarDelete() override; - - // Attribute: - private: - const CMIUtilString m_constStrArgName; +class CMICmdCmdVarDelete : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarDelete(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarDelete() override; + + // Attribute: +private: + const CMIUtilString m_constStrArgName; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-assign". //-- -class CMICmdCmdVarAssign : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarAssign(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarAssign() override; - - // Attributes: - private: - bool m_bOk; // True = success, false = failure - CMIUtilString m_varObjName; - const CMIUtilString m_constStrArgName; - const CMIUtilString m_constStrArgExpression; +class CMICmdCmdVarAssign : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarAssign(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarAssign() override; + + // Attributes: +private: + bool m_bOk; // True = success, false = failure + CMIUtilString m_varObjName; + const CMIUtilString m_constStrArgName; + const CMIUtilString m_constStrArgExpression; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-set-format". //-- -class CMICmdCmdVarSetFormat : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarSetFormat(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarSetFormat() override; - - // Attributes: - private: - CMIUtilString m_varObjName; - const CMIUtilString m_constStrArgName; - const CMIUtilString m_constStrArgFormatSpec; +class CMICmdCmdVarSetFormat : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarSetFormat(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarSetFormat() override; + + // Attributes: +private: + CMIUtilString m_varObjName; + const CMIUtilString m_constStrArgName; + const CMIUtilString m_constStrArgFormatSpec; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-list-children". //-- -class CMICmdCmdVarListChildren : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarListChildren(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarListChildren() override; - - // Attributes: - private: - const CMIUtilString m_constStrArgPrintValues; - const CMIUtilString m_constStrArgName; - const CMIUtilString m_constStrArgFrom; - const CMIUtilString m_constStrArgTo; - bool m_bValueValid; // True = yes SBValue object is valid, false = not valid - MIuint m_nChildren; - CMICmnMIValueList m_miValueList; - bool m_bHasMore; +class CMICmdCmdVarListChildren : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarListChildren(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarListChildren() override; + + // Attributes: +private: + const CMIUtilString m_constStrArgPrintValues; + const CMIUtilString m_constStrArgName; + const CMIUtilString m_constStrArgFrom; + const CMIUtilString m_constStrArgTo; + bool m_bValueValid; // True = yes SBValue object is valid, false = not valid + MIuint m_nChildren; + CMICmnMIValueList m_miValueList; + bool m_bHasMore; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-evaluate-expression". //-- -class CMICmdCmdVarEvaluateExpression : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarEvaluateExpression(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarEvaluateExpression() override; - - // Attributes: - private: - bool m_bValueValid; // True = yes SBValue object is valid, false = not valid - CMIUtilString m_varObjName; - const CMIUtilString m_constStrArgFormatSpec; // Not handled by *this command - const CMIUtilString m_constStrArgName; +class CMICmdCmdVarEvaluateExpression : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarEvaluateExpression(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarEvaluateExpression() override; + + // Attributes: +private: + bool m_bValueValid; // True = yes SBValue object is valid, false = not valid + CMIUtilString m_varObjName; + const CMIUtilString m_constStrArgFormatSpec; // Not handled by *this command + const CMIUtilString m_constStrArgName; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-info-path-expression". //-- -class CMICmdCmdVarInfoPathExpression : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarInfoPathExpression(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarInfoPathExpression() override; - - // Attributes: - private: - bool m_bValueValid; // True = yes SBValue object is valid, false = not valid - CMIUtilString m_strPathExpression; - const CMIUtilString m_constStrArgName; +class CMICmdCmdVarInfoPathExpression : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarInfoPathExpression(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarInfoPathExpression() override; + + // Attributes: +private: + bool m_bValueValid; // True = yes SBValue object is valid, false = not valid + CMIUtilString m_strPathExpression; + const CMIUtilString m_constStrArgName; }; -//++ ============================================================================ +//++ +//============================================================================ // Details: MI command class. MI commands derived from the command base class. // *this class implements MI command "var-show-attributes". //-- -class CMICmdCmdVarShowAttributes : public CMICmdBase -{ - // Statics: - public: - // Required by the CMICmdFactory when registering *this command - static CMICmdBase *CreateSelf(); - - // Methods: - public: - /* ctor */ CMICmdCmdVarShowAttributes(); - - // Overridden: - public: - // From CMICmdInvoker::ICmd - bool Execute() override; - bool Acknowledge() override; - bool ParseArgs() override; - // From CMICmnBase - /* dtor */ ~CMICmdCmdVarShowAttributes() override; - - // Attributes: - private: - const CMIUtilString m_constStrArgName; +class CMICmdCmdVarShowAttributes : public CMICmdBase { + // Statics: +public: + // Required by the CMICmdFactory when registering *this command + static CMICmdBase *CreateSelf(); + + // Methods: +public: + /* ctor */ CMICmdCmdVarShowAttributes(); + + // Overridden: +public: + // From CMICmdInvoker::ICmd + bool Execute() override; + bool Acknowledge() override; + bool ParseArgs() override; + // From CMICmnBase + /* dtor */ ~CMICmdCmdVarShowAttributes() override; + + // Attributes: +private: + const CMIUtilString m_constStrArgName; }; |