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