diff options
-rw-r--r-- | lldb/include/lldb/API/SBDebugger.h | 4 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBFileSpec.h | 2 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBSourceManager.h | 4 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBStream.h | 4 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBTarget.h | 7 | ||||
-rw-r--r-- | lldb/include/lldb/lldb-forward.h | 1 | ||||
-rw-r--r-- | lldb/source/API/SBDebugger.cpp | 5 | ||||
-rw-r--r-- | lldb/source/API/SBSourceManager.cpp | 128 | ||||
-rw-r--r-- | lldb/source/API/SBTarget.cpp | 6 |
9 files changed, 88 insertions, 73 deletions
diff --git a/lldb/include/lldb/API/SBDebugger.h b/lldb/include/lldb/API/SBDebugger.h index 6b4fff678e2..f778187244d 100644 --- a/lldb/include/lldb/API/SBDebugger.h +++ b/lldb/include/lldb/API/SBDebugger.h @@ -246,8 +246,8 @@ private: friend class SBInputReader; friend class SBProcess; + friend class SBSourceManager; friend class SBTarget; - friend class SBSourceManager_impl; lldb::SBTarget FindTargetWithLLDBProcess (const lldb::ProcessSP &processSP); @@ -261,6 +261,8 @@ private: lldb_private::Debugger & ref () const; + const lldb::DebuggerSP & + get_sp () const; #endif lldb::DebuggerSP m_opaque_sp; diff --git a/lldb/include/lldb/API/SBFileSpec.h b/lldb/include/lldb/API/SBFileSpec.h index e3a6ce2d424..bacc3d9879c 100644 --- a/lldb/include/lldb/API/SBFileSpec.h +++ b/lldb/include/lldb/API/SBFileSpec.h @@ -64,7 +64,7 @@ private: friend class SBLineEntry; friend class SBModule; friend class SBProcess; - friend class SBSourceManager_impl; + friend class SBSourceManager; friend class SBThread; friend class SBTarget; diff --git a/lldb/include/lldb/API/SBSourceManager.h b/lldb/include/lldb/API/SBSourceManager.h index fff0f13c6f5..9e8f7d1edd8 100644 --- a/lldb/include/lldb/API/SBSourceManager.h +++ b/lldb/include/lldb/API/SBSourceManager.h @@ -16,8 +16,6 @@ namespace lldb { -class SBSourceManager_impl; - class SBSourceManager { public: @@ -49,7 +47,7 @@ protected: private: - std::auto_ptr<SBSourceManager_impl> m_opaque_ap; + std::auto_ptr<lldb_private::SourceManagerImpl> m_opaque_ap; }; } // namespace lldb diff --git a/lldb/include/lldb/API/SBStream.h b/lldb/include/lldb/API/SBStream.h index 22d990e54d4..33ded973cef 100644 --- a/lldb/include/lldb/API/SBStream.h +++ b/lldb/include/lldb/API/SBStream.h @@ -61,6 +61,7 @@ protected: friend class SBBlock; friend class SBBreakpoint; friend class SBBreakpointLocation; + friend class SBCommandReturnObject; friend class SBCompileUnit; friend class SBData; friend class SBEvent; @@ -70,14 +71,13 @@ protected: friend class SBInstructionList; friend class SBModule; friend class SBSection; - friend class SBSourceManager_impl; + friend class SBSourceManager; friend class SBSymbol; friend class SBSymbolContext; friend class SBTarget; friend class SBThread; friend class SBValue; friend class SBWatchpointLocation; - friend class SBCommandReturnObject; #ifndef SWIG diff --git a/lldb/include/lldb/API/SBTarget.h b/lldb/include/lldb/API/SBTarget.h index 97dc66b5925..debb52b352c 100644 --- a/lldb/include/lldb/API/SBTarget.h +++ b/lldb/include/lldb/API/SBTarget.h @@ -502,11 +502,11 @@ protected: friend class SBDebugger; friend class SBFunction; friend class SBInstruction; + friend class SBModule; friend class SBProcess; + friend class SBSourceManager; friend class SBSymbol; - friend class SBModule; friend class SBValue; - friend class SBSourceManager_impl; //------------------------------------------------------------------ // Constructors are private, use static Target::Create function to @@ -524,6 +524,9 @@ protected: lldb_private::Target * get() const; + const lldb::TargetSP & + get_sp () const; + private: //------------------------------------------------------------------ // For Target only diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index 9c193c49766..b31a4ae62b6 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -131,6 +131,7 @@ class Section; class SectionImpl; class SectionList; class SourceManager; +class SourceManagerImpl; class StackFrame; class StackFrameList; class StackID; diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp index facf0e366ae..f71b8604bc9 100644 --- a/lldb/source/API/SBDebugger.cpp +++ b/lldb/source/API/SBDebugger.cpp @@ -825,6 +825,11 @@ SBDebugger::ref () const return *m_opaque_sp; } +const lldb::DebuggerSP & +SBDebugger::get_sp () const +{ + return m_opaque_sp; +} SBDebugger SBDebugger::FindDebuggerWithID (int id) diff --git a/lldb/source/API/SBSourceManager.cpp b/lldb/source/API/SBSourceManager.cpp index 7bdeabcee72..64b8e543966 100644 --- a/lldb/source/API/SBSourceManager.cpp +++ b/lldb/source/API/SBSourceManager.cpp @@ -20,76 +20,76 @@ #include "lldb/Target/Target.h" -using namespace lldb; -using namespace lldb_private; - -class lldb::SBSourceManager_impl +namespace lldb_private { -public: - SBSourceManager_impl (const SBDebugger &debugger) - { - m_debugger_sp = debugger.m_opaque_sp; - } - - SBSourceManager_impl (const SBTarget &target) + class SourceManagerImpl { - m_target_sp = target.m_opaque_sp; - } - - SBSourceManager_impl (const SBSourceManager_impl &rhs) - { - if (&rhs == this) - return; - m_debugger_sp = rhs.m_debugger_sp; - m_target_sp = rhs.m_target_sp; - } - - size_t - DisplaySourceLinesWithLineNumbers - ( - const SBFileSpec &file, - uint32_t line, - uint32_t context_before, - uint32_t context_after, - const char* current_line_cstr, - SBStream &s - ) - { - if (!file.IsValid()) - return 0; + public: + SourceManagerImpl (const lldb::DebuggerSP &debugger_sp) + { + m_debugger_sp = debugger_sp; + } + + SourceManagerImpl (const lldb::TargetSP &target_sp) + { + m_target_sp = target_sp; + } + + SourceManagerImpl (const SourceManagerImpl &rhs) + { + if (&rhs == this) + return; + m_debugger_sp = rhs.m_debugger_sp; + m_target_sp = rhs.m_target_sp; + } + + size_t + DisplaySourceLinesWithLineNumbers (const lldb_private::FileSpec &file, + uint32_t line, + uint32_t context_before, + uint32_t context_after, + const char* current_line_cstr, + lldb_private::Stream *s) + { + if (file) + return 0; - if (m_debugger_sp) - return m_debugger_sp->GetSourceManager().DisplaySourceLinesWithLineNumbers (*file, - line, - context_before, - context_after, - current_line_cstr, - s.m_opaque_ap.get()); - else if (m_target_sp) - return m_target_sp->GetSourceManager().DisplaySourceLinesWithLineNumbers (*file, - line, - context_before, - context_after, - current_line_cstr, - s.m_opaque_ap.get()); - else - return 0; - } - -private: - lldb::DebuggerSP m_debugger_sp; - lldb::TargetSP m_target_sp; - -}; + if (m_debugger_sp) + return m_debugger_sp->GetSourceManager().DisplaySourceLinesWithLineNumbers (file, + line, + context_before, + context_after, + current_line_cstr, + s); + else if (m_target_sp) + return m_target_sp->GetSourceManager().DisplaySourceLinesWithLineNumbers (file, + line, + context_before, + context_after, + current_line_cstr, + s); + else + return 0; + } + + private: + lldb::DebuggerSP m_debugger_sp; + lldb::TargetSP m_target_sp; + + }; +} + +using namespace lldb; +using namespace lldb_private; SBSourceManager::SBSourceManager (const SBDebugger &debugger) { - m_opaque_ap.reset(new SBSourceManager_impl (debugger)); + m_opaque_ap.reset(new SourceManagerImpl (debugger.get_sp())); } SBSourceManager::SBSourceManager (const SBTarget &target) { - m_opaque_ap.reset(new SBSourceManager_impl (target)); + m_opaque_ap.reset(new SourceManagerImpl (target.get_sp())); } SBSourceManager::SBSourceManager (const SBSourceManager &rhs) @@ -97,13 +97,13 @@ SBSourceManager::SBSourceManager (const SBSourceManager &rhs) if (&rhs == this) return; - m_opaque_ap.reset(new SBSourceManager_impl (*(rhs.m_opaque_ap.get()))); + m_opaque_ap.reset(new SourceManagerImpl (*(rhs.m_opaque_ap.get()))); } const lldb::SBSourceManager & SBSourceManager::operator = (const lldb::SBSourceManager &rhs) { - m_opaque_ap.reset (new SBSourceManager_impl (*(rhs.m_opaque_ap.get()))); + m_opaque_ap.reset (new SourceManagerImpl (*(rhs.m_opaque_ap.get()))); return *this; } @@ -125,10 +125,10 @@ SBSourceManager::DisplaySourceLinesWithLineNumbers if (m_opaque_ap.get() == NULL) return 0; - return m_opaque_ap->DisplaySourceLinesWithLineNumbers (file, + return m_opaque_ap->DisplaySourceLinesWithLineNumbers (file.ref(), line, context_before, context_after, current_line_cstr, - s); + s.get()); } diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp index f4ad92dc027..28bb109108f 100644 --- a/lldb/source/API/SBTarget.cpp +++ b/lldb/source/API/SBTarget.cpp @@ -499,6 +499,12 @@ SBTarget::get() const return m_opaque_sp.get(); } +const lldb::TargetSP & +SBTarget::get_sp () const +{ + return m_opaque_sp; +} + void SBTarget::reset (const lldb::TargetSP& target_sp) { |