summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-mi/MICmdCmdBreak.h
diff options
context:
space:
mode:
authorDeepak Panickal <deepak@codeplay.com>2014-06-24 16:35:50 +0000
committerDeepak Panickal <deepak@codeplay.com>2014-06-24 16:35:50 +0000
commit877569c2b867e5b6b118cfa21f602b2c84891066 (patch)
tree48b4d144cae2a2e942d0631618ab40b05c0ecb1c /lldb/tools/lldb-mi/MICmdCmdBreak.h
parentf93ef4e45029908df3eedc6d1a70d2911c179d7f (diff)
downloadbcm5719-llvm-877569c2b867e5b6b118cfa21f602b2c84891066.tar.gz
bcm5719-llvm-877569c2b867e5b6b118cfa21f602b2c84891066.zip
Added support for new MI commands and bug fixes. More details in MIReadme.txt.
llvm-svn: 211607
Diffstat (limited to 'lldb/tools/lldb-mi/MICmdCmdBreak.h')
-rw-r--r--lldb/tools/lldb-mi/MICmdCmdBreak.h174
1 files changed, 163 insertions, 11 deletions
diff --git a/lldb/tools/lldb-mi/MICmdCmdBreak.h b/lldb/tools/lldb-mi/MICmdCmdBreak.h
index 772881d35ea..e5283d60990 100644
--- a/lldb/tools/lldb-mi/MICmdCmdBreak.h
+++ b/lldb/tools/lldb-mi/MICmdCmdBreak.h
@@ -12,6 +12,10 @@
//
// Overview: CMICmdCmdBreakInsert interface.
// CMICmdCmdBreakDelete interface.
+// CMICmdCmdBreakDisable interface.
+// CMICmdCmdBreakEnable interface.
+// CMICmdCmdBreakAfter interface.
+// CMICmdCmdBreakCondition 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
@@ -49,7 +53,7 @@ class CMICmdCmdBreakInsert : public CMICmdBase
{
// Statics:
public:
- // Required by the CMICmdFactory when registering *this commmand
+ // Required by the CMICmdFactory when registering *this command
static CMICmdBase * CreateSelf( void );
// Methods:
@@ -62,9 +66,6 @@ public:
virtual bool Execute( void );
virtual bool Acknowledge( void );
virtual bool ParseArgs( void );
-
-// Overridden:
-public:
// From CMICmnBase
/* dtor */ virtual ~CMICmdCmdBreakInsert( void );
@@ -91,14 +92,21 @@ private:
CMIUtilString m_brkName;
CMIUtilString m_strArgOptionThreadGrp;
lldb::SBBreakpoint m_brkPt;
+ bool m_bBrkPtIsPending;
+ MIuint m_nBrkPtIgnoreCount;
+ bool m_bBrkPtEnabled;
+ bool m_bBrkPtCondition;
+ CMIUtilString m_brkPtCondition;
+ bool m_bBrkPtThreadId;
+ MIuint m_nBrkPtThreadId;
const CMIUtilString m_constStrArgNamedTempBrkPt;
const CMIUtilString m_constStrArgNamedHWBrkPt; // Not handled by *this command
- const CMIUtilString m_constStrArgNamedPendinfBrkPt; // Not handled by *this command
- const CMIUtilString m_constStrArgNamedDisableBrkPt; // Not handled by *this command
+ const CMIUtilString m_constStrArgNamedPendinfBrkPt;
+ const CMIUtilString m_constStrArgNamedDisableBrkPt;
const CMIUtilString m_constStrArgNamedTracePt; // Not handled by *this command
- const CMIUtilString m_constStrArgNamedConditionalBrkPt; // Not handled by *this command
- const CMIUtilString m_constStrArgNamedInoreCnt; // Not handled by *this command
- const CMIUtilString m_constStrArgNamedRestrictBrkPtToThreadId; // Not handled by *this command
+ const CMIUtilString m_constStrArgNamedConditionalBrkPt;
+ const CMIUtilString m_constStrArgNamedInoreCnt;
+ const CMIUtilString m_constStrArgNamedRestrictBrkPtToThreadId;
const CMIUtilString m_constStrArgNamedLocation;
const CMIUtilString m_constStrArgNamedThreadGroup; // Not specified in MI spec but Eclipse gives this option sometimes
};
@@ -114,7 +122,7 @@ class CMICmdCmdBreakDelete : public CMICmdBase
{
// Statics:
public:
- // Required by the CMICmdFactory when registering *this commmand
+ // Required by the CMICmdFactory when registering *this command
static CMICmdBase * CreateSelf( void );
// Methods:
@@ -127,14 +135,158 @@ public:
virtual bool Execute( void );
virtual bool Acknowledge( void );
virtual bool ParseArgs( void );
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmdCmdBreakDelete( void );
+
+// Attributes:
+private:
+ const CMIUtilString m_constStrArgNamedBrkPt;
+ const CMIUtilString m_constStrArgNamedThreadGrp; // Not specified in MI spec but Eclipse gives this option
+};
+
+//++ ============================================================================
+// Details: MI command class. MI commands derived from the command base class.
+// *this class implements MI command "break-disable".
+// Gotchas: None.
+// Authors: Illya Rudkin 19/05/2014.
+// Changes: None.
+//--
+class CMICmdCmdBreakDisable : public CMICmdBase
+{
+// Statics:
+public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase * CreateSelf( void );
+
+// Methods:
+public:
+ /* ctor */ CMICmdCmdBreakDisable( void );
// Overridden:
public:
+ // From CMICmdInvoker::ICmd
+ virtual bool Execute( void );
+ virtual bool Acknowledge( void );
+ virtual bool ParseArgs( void );
// From CMICmnBase
- /* dtor */ virtual ~CMICmdCmdBreakDelete( void );
+ /* dtor */ virtual ~CMICmdCmdBreakDisable( void );
// Attributes:
private:
+ const CMIUtilString m_constStrArgNamedThreadGrp; // Not specified in MI spec but Eclipse gives this option
const CMIUtilString m_constStrArgNamedBrkPt;
+ bool m_bBrkPtDisabledOk;
+ MIuint m_nBrkPtId;
+};
+
+//++ ============================================================================
+// Details: MI command class. MI commands derived from the command base class.
+// *this class implements MI command "break-enable".
+// Gotchas: None.
+// Authors: Illya Rudkin 19/05/2014.
+// Changes: None.
+//--
+class CMICmdCmdBreakEnable : public CMICmdBase
+{
+// Statics:
+public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase * CreateSelf( void );
+
+// Methods:
+public:
+ /* ctor */ CMICmdCmdBreakEnable( void );
+
+// Overridden:
+public:
+ // From CMICmdInvoker::ICmd
+ virtual bool Execute( void );
+ virtual bool Acknowledge( void );
+ virtual bool ParseArgs( void );
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmdCmdBreakEnable( void );
+
+// Attributes:
+private:
+ const CMIUtilString m_constStrArgNamedThreadGrp; // Not specified in MI spec but Eclipse gives this option
+ const CMIUtilString m_constStrArgNamedBrkPt;
+ bool m_bBrkPtEnabledOk;
+ MIuint m_nBrkPtId;
+};
+
+//++ ============================================================================
+// Details: MI command class. MI commands derived from the command base class.
+// *this class implements MI command "break-after".
+// Gotchas: None.
+// Authors: Illya Rudkin 29/05/2014.
+// Changes: None.
+//--
+class CMICmdCmdBreakAfter : public CMICmdBase
+{
+// Statics:
+public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase * CreateSelf( void );
+
+// Methods:
+public:
+ /* ctor */ CMICmdCmdBreakAfter( void );
+
+// Overridden:
+public:
+ // From CMICmdInvoker::ICmd
+ virtual bool Execute( void );
+ virtual bool Acknowledge( void );
+ virtual bool ParseArgs( void );
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmdCmdBreakAfter( void );
+
+// Attributes:
+private:
+ const CMIUtilString m_constStrArgNamedThreadGrp; // Not specified in MI spec but Eclipse gives this option
+ const CMIUtilString m_constStrArgNamedNumber;
+ const CMIUtilString m_constStrArgNamedCount;
+ MIuint m_nBrkPtId;
+ MIuint m_nBrkPtCount;
+};
+
+//++ ============================================================================
+// Details: MI command class. MI commands derived from the command base class.
+// *this class implements MI command "break-condition".
+// Gotchas: None.
+// Authors: Illya Rudkin 29/05/2014.
+// Changes: None.
+//--
+class CMICmdCmdBreakCondition : public CMICmdBase
+{
+// Statics:
+public:
+ // Required by the CMICmdFactory when registering *this command
+ static CMICmdBase * CreateSelf( void );
+
+// Methods:
+public:
+ /* ctor */ CMICmdCmdBreakCondition( void );
+
+// Overridden:
+public:
+ // From CMICmdInvoker::ICmd
+ virtual bool Execute( void );
+ virtual bool Acknowledge( void );
+ virtual bool ParseArgs( void );
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmdCmdBreakCondition( void );
+
+// Methods:
+private:
+ CMIUtilString GetRestOfExpressionNotSurroundedInQuotes( void );
+
+// Attributes:
+private:
const CMIUtilString m_constStrArgNamedThreadGrp; // Not specified in MI spec but Eclipse gives this option
+ const CMIUtilString m_constStrArgNamedNumber;
+ const CMIUtilString m_constStrArgNamedExpr;
+ const CMIUtilString m_constStrArgNamedExprNoQuotes; // Not specified in MI spec, we need to handle expressions not surrounded by quotes
+ MIuint m_nBrkPtId;
+ CMIUtilString m_strBrkPtExpr;
};
OpenPOWER on IntegriCloud