SBLineEntry.h revision 23b8abbe214c252028f6e09f79169529c846409d
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#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 void 53 SetFileSpec (lldb::SBFileSpec filespec); 54 55 void 56 SetLine (uint32_t line); 57 58 void 59 SetColumn (uint32_t column); 60 61#ifndef SWIG 62 bool 63 operator == (const lldb::SBLineEntry &rhs) const; 64 65 bool 66 operator != (const lldb::SBLineEntry &rhs) const; 67 68#endif 69 70 bool 71 GetDescription (lldb::SBStream &description); 72 73protected: 74 75 lldb_private::LineEntry * 76 get (); 77 78private: 79 friend class SBAddress; 80 friend class SBCompileUnit; 81 friend class SBFrame; 82 friend class SBSymbolContext; 83 84#ifndef SWIG 85 86 const lldb_private::LineEntry * 87 operator->() const; 88 89 lldb_private::LineEntry & 90 ref(); 91 92 const lldb_private::LineEntry & 93 ref() const; 94 95#endif 96 97 98 SBLineEntry (const lldb_private::LineEntry *lldb_object_ptr); 99 100 void 101 SetLineEntry (const lldb_private::LineEntry &lldb_object_ref); 102 103 std::auto_ptr<lldb_private::LineEntry> m_opaque_ap; 104}; 105 106 107} // namespace lldb 108 109#endif // LLDB_SBLineEntry_h_ 110