SBLineEntry.h revision 7dd5c51fbab8384b18f20ecc125f9a1bb3c9bcb2
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 17namespace lldb { 18 19class SBLineEntry 20{ 21public: 22 23 SBLineEntry (); 24 25 SBLineEntry (const lldb::SBLineEntry &rhs); 26 27 ~SBLineEntry (); 28 29 const lldb::SBLineEntry & 30 operator = (const lldb::SBLineEntry &rhs); 31 32 lldb::SBAddress 33 GetStartAddress () const; 34 35 lldb::SBAddress 36 GetEndAddress () const; 37 38 bool 39 IsValid () const; 40 41 lldb::SBFileSpec 42 GetFileSpec () const; 43 44 uint32_t 45 GetLine () const; 46 47 uint32_t 48 GetColumn () const; 49 50 void 51 SetFileSpec (lldb::SBFileSpec filespec); 52 53 void 54 SetLine (uint32_t line); 55 56 void 57 SetColumn (uint32_t column); 58 59 bool 60 operator == (const lldb::SBLineEntry &rhs) const; 61 62 bool 63 operator != (const lldb::SBLineEntry &rhs) const; 64 65 bool 66 GetDescription (lldb::SBStream &description); 67 68protected: 69 70 lldb_private::LineEntry * 71 get (); 72 73private: 74 friend class SBAddress; 75 friend class SBCompileUnit; 76 friend class SBFrame; 77 friend class SBSymbolContext; 78 79 const lldb_private::LineEntry * 80 operator->() const; 81 82 lldb_private::LineEntry & 83 ref(); 84 85 const lldb_private::LineEntry & 86 ref() const; 87 88 SBLineEntry (const lldb_private::LineEntry *lldb_object_ptr); 89 90 void 91 SetLineEntry (const lldb_private::LineEntry &lldb_object_ref); 92 93 std::auto_ptr<lldb_private::LineEntry> m_opaque_ap; 94}; 95 96 97} // namespace lldb 98 99#endif // LLDB_SBLineEntry_h_ 100