LLDB API Documentation

SBDeclaration.h
Go to the documentation of this file.
1 //===-- SBDeclaration.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_SBDeclaration_h_
11 #define LLDB_SBDeclaration_h_
12 
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBFileSpec.h"
15 
16 namespace lldb {
17 
19  {
20  public:
21 
22  SBDeclaration ();
23 
25 
26  ~SBDeclaration ();
27 
28  const lldb::SBDeclaration &
29  operator = (const lldb::SBDeclaration &rhs);
30 
31  bool
32  IsValid () const;
33 
35  GetFileSpec () const;
36 
37  uint32_t
38  GetLine () const;
39 
40  uint32_t
41  GetColumn () const;
42 
43  void
44  SetFileSpec (lldb::SBFileSpec filespec);
45 
46  void
47  SetLine (uint32_t line);
48 
49  void
50  SetColumn (uint32_t column);
51 
52  bool
53  operator == (const lldb::SBDeclaration &rhs) const;
54 
55  bool
56  operator != (const lldb::SBDeclaration &rhs) const;
57 
58  bool
59  GetDescription (lldb::SBStream &description);
60 
61  protected:
62 
63  lldb_private::Declaration *
64  get ();
65 
66  private:
67  friend class SBValue;
68 
69  const lldb_private::Declaration *
70  operator->() const;
71 
72  lldb_private::Declaration &
73  ref();
74 
75  const lldb_private::Declaration &
76  ref() const;
77 
78  SBDeclaration (const lldb_private::Declaration *lldb_object_ptr);
79 
80  void
81  SetDeclaration (const lldb_private::Declaration &lldb_object_ref);
82 
83  std::unique_ptr<lldb_private::Declaration> m_opaque_ap;
84  };
85 
86 
87 } // namespace lldb
88 
89 #endif // LLDB_SBDeclaration_h_