summaryrefslogtreecommitdiffstats
path: root/lldb/source/API
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API')
-rw-r--r--lldb/source/API/SBBreakpoint.cpp37
-rw-r--r--lldb/source/API/SBTarget.cpp34
2 files changed, 52 insertions, 19 deletions
diff --git a/lldb/source/API/SBBreakpoint.cpp b/lldb/source/API/SBBreakpoint.cpp
index 4ab200c1bb1..f8c52ef0893 100644
--- a/lldb/source/API/SBBreakpoint.cpp
+++ b/lldb/source/API/SBBreakpoint.cpp
@@ -10,6 +10,7 @@
#include "lldb/API/SBBreakpoint.h"
#include "lldb/API/SBBreakpointLocation.h"
#include "lldb/API/SBDebugger.h"
+#include "lldb/API/SBEvent.h"
#include "lldb/API/SBProcess.h"
#include "lldb/API/SBThread.h"
@@ -242,6 +243,15 @@ SBBreakpoint::SetIgnoreCount (uint32_t count)
}
uint32_t
+SBBreakpoint::GetHitCount () const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetHitCount();
+ else
+ return 0;
+}
+
+uint32_t
SBBreakpoint::GetIgnoreCount () const
{
if (m_opaque_sp)
@@ -457,3 +467,30 @@ SBBreakpoint::operator *() const
return m_opaque_sp;
}
+BreakpointEventType
+SBBreakpoint::GetBreakpointEventTypeFromEvent (const SBEvent& event)
+{
+ if (event.IsValid())
+ return Breakpoint::BreakpointEventData::GetBreakpointEventTypeFromEvent (event.GetSP());
+ return eBreakpointEventTypeInvalidType;
+}
+
+SBBreakpoint
+SBBreakpoint::GetBreakpointFromEvent (const lldb::SBEvent& event)
+{
+ SBBreakpoint sb_breakpoint;
+ if (event.IsValid())
+ sb_breakpoint.m_opaque_sp = Breakpoint::BreakpointEventData::GetBreakpointFromEvent (event.GetSP());
+ return sb_breakpoint;
+}
+
+SBBreakpointLocation
+SBBreakpoint::GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx)
+{
+ SBBreakpointLocation sb_breakpoint_loc;
+ if (event.IsValid())
+ sb_breakpoint_loc.SetLocation (Breakpoint::BreakpointEventData::GetBreakpointLocationAtIndexFromEvent (event.GetSP(), loc_idx));
+ return sb_breakpoint_loc;
+}
+
+
diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp
index 86186434aee..85ec06ca7b5 100644
--- a/lldb/source/API/SBTarget.cpp
+++ b/lldb/source/API/SBTarget.cpp
@@ -277,36 +277,32 @@ SBTarget::BreakpointCreateByAddress (addr_t address)
return sb_bp;
}
-void
-SBTarget::ListAllBreakpoints ()
+SBBreakpoint
+SBTarget::FindBreakpointByID (break_id_t bp_id)
{
- FILE *out_file = m_opaque_sp->GetDebugger().GetOutputFileHandle();
-
- if (out_file == NULL)
- return;
+ SBBreakpoint sb_breakpoint;
+ if (m_opaque_sp && bp_id != LLDB_INVALID_BREAK_ID)
+ *sb_breakpoint = m_opaque_sp->GetBreakpointByID (bp_id);
+ return sb_breakpoint;
+}
+uint32_t
+SBTarget::GetNumBreakpoints () const
+{
if (m_opaque_sp)
- {
- const BreakpointList &bp_list = m_opaque_sp->GetBreakpointList();
- size_t num_bps = bp_list.GetSize();
- for (size_t i = 0; i < num_bps; ++i)
- {
- SBBreakpoint sb_breakpoint (bp_list.GetBreakpointByIndex (i));
- sb_breakpoint.GetDescription (out_file, "full");
- }
- }
+ return m_opaque_sp->GetBreakpointList().GetSize();
+ return 0;
}
SBBreakpoint
-SBTarget::FindBreakpointByID (break_id_t bp_id)
+SBTarget::GetBreakpointAtIndex (uint32_t idx) const
{
SBBreakpoint sb_breakpoint;
- if (m_opaque_sp && bp_id != LLDB_INVALID_BREAK_ID)
- *sb_breakpoint = m_opaque_sp->GetBreakpointByID (bp_id);
+ if (m_opaque_sp)
+ *sb_breakpoint = m_opaque_sp->GetBreakpointList().GetBreakpointAtIndex(idx);
return sb_breakpoint;
}
-
bool
SBTarget::BreakpointDelete (break_id_t bp_id)
{
OpenPOWER on IntegriCloud