LLDB API Documentation

SBLineEntry.h
Go to the documentation of this file.
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 
20 {
21 public:
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 
33  GetStartAddress () const;
34 
36  GetEndAddress () const;
37 
38  bool
39  IsValid () const;
40 
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 
68 protected:
69 
70  lldb_private::LineEntry *
71  get ();
72 
73 private:
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::unique_ptr<lldb_private::LineEntry> m_opaque_ap;
94 };
95 
96 
97 } // namespace lldb
98 
99 #endif // LLDB_SBLineEntry_h_