1 //===-- SBLineEntry.h -------------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_SBLineEntry_h_ 11 #define LLDB_SBLineEntry_h_ 12 13 #include "lldb/API/SBDefines.h" 14 #include "lldb/API/SBAddress.h" 15 #include "lldb/API/SBFileSpec.h" 16 17 namespace lldb { 18 19 class SBLineEntry 20 { 21 public: 22 23 SBLineEntry (); 24 25 SBLineEntry (const lldb::SBLineEntry &rhs); 26 27 ~SBLineEntry (); 28 29 #ifndef SWIG 30 const lldb::SBLineEntry & 31 operator = (const lldb::SBLineEntry &rhs); 32 #endif 33 34 lldb::SBAddress 35 GetStartAddress () const; 36 37 lldb::SBAddress 38 GetEndAddress () const; 39 40 bool 41 IsValid () const; 42 43 lldb::SBFileSpec 44 GetFileSpec () const; 45 46 uint32_t 47 GetLine () const; 48 49 uint32_t 50 GetColumn () const; 51 52 #ifndef SWIG 53 bool 54 operator == (const lldb::SBLineEntry &rhs) const; 55 56 bool 57 operator != (const lldb::SBLineEntry &rhs) const; 58 59 #endif 60 61 bool 62 GetDescription (lldb::SBStream &description); 63 64 protected: 65 66 lldb_private::LineEntry * 67 get (); 68 69 private: 70 friend class SBAddress; 71 friend class SBCompileUnit; 72 friend class SBFrame; 73 friend class SBSymbolContext; 74 75 #ifndef SWIG 76 77 const lldb_private::LineEntry * 78 operator->() const; 79 80 const lldb_private::LineEntry & 81 operator*() const; 82 83 #endif 84 85 86 SBLineEntry (const lldb_private::LineEntry *lldb_object_ptr); 87 88 void 89 SetLineEntry (const lldb_private::LineEntry &lldb_object_ref); 90 91 std::auto_ptr<lldb_private::LineEntry> m_opaque_ap; 92 }; 93 94 95 } // namespace lldb 96 97 #endif // LLDB_SBLineEntry_h_ 98