Index: lldb/trunk/include/lldb/API/SBBreakpoint.h =================================================================== --- lldb/trunk/include/lldb/API/SBBreakpoint.h +++ lldb/trunk/include/lldb/API/SBBreakpoint.h @@ -12,6 +12,8 @@ #include "lldb/API/SBDefines.h" +class SBBreakpointListImpl; + namespace lldb { class LLDB_API SBBreakpoint { @@ -146,8 +148,6 @@ lldb::BreakpointSP m_opaque_sp; }; -class SBBreakpointListImpl; - class LLDB_API SBBreakpointList { public: SBBreakpointList(SBTarget &target); Index: lldb/trunk/include/lldb/API/SBTarget.h =================================================================== --- lldb/trunk/include/lldb/API/SBTarget.h +++ lldb/trunk/include/lldb/API/SBTarget.h @@ -819,7 +819,7 @@ protected: friend class SBAddress; friend class SBBlock; - friend class SBBreakpointListImpl; + friend class SBBreakpointList; friend class SBDebugger; friend class SBExecutionContext; friend class SBFunction; Index: lldb/trunk/source/API/SBBreakpoint.cpp =================================================================== --- lldb/trunk/source/API/SBBreakpoint.cpp +++ lldb/trunk/source/API/SBBreakpoint.cpp @@ -712,11 +712,11 @@ } // This is simple collection of breakpoint id's and their target. -class lldb::SBBreakpointListImpl { +class SBBreakpointListImpl { public: - SBBreakpointListImpl(SBTarget &target) : m_target_wp() { - if (target.IsValid()) - m_target_wp = target.GetSP(); + SBBreakpointListImpl(lldb::TargetSP target_sp) : m_target_wp() { + if (target_sp && target_sp->IsValid()) + m_target_wp = target_sp; } ~SBBreakpointListImpl() = default; @@ -796,7 +796,7 @@ }; SBBreakpointList::SBBreakpointList(SBTarget &target) - : m_opaque_sp(new lldb::SBBreakpointListImpl(target)) {} + : m_opaque_sp(new SBBreakpointListImpl(target.GetSP())) {} SBBreakpointList::~SBBreakpointList() {}