1 //===-- SBDeclaration.h -------------------------------------------*- C++
4 // The LLVM Compiler Infrastructure
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef LLDB_SBDeclaration_h_
12 #define LLDB_SBDeclaration_h_
14 #include "lldb/API/SBDefines.h"
15 #include "lldb/API/SBFileSpec.h"
19 class LLDB_API SBDeclaration {
23 SBDeclaration(const lldb::SBDeclaration &rhs);
27 const lldb::SBDeclaration &operator=(const lldb::SBDeclaration &rhs);
31 lldb::SBFileSpec GetFileSpec() const;
33 uint32_t GetLine() const;
35 uint32_t GetColumn() const;
37 void SetFileSpec(lldb::SBFileSpec filespec);
39 void SetLine(uint32_t line);
41 void SetColumn(uint32_t column);
43 bool operator==(const lldb::SBDeclaration &rhs) const;
45 bool operator!=(const lldb::SBDeclaration &rhs) const;
47 bool GetDescription(lldb::SBStream &description);
50 lldb_private::Declaration *get();
55 const lldb_private::Declaration *operator->() const;
57 lldb_private::Declaration &ref();
59 const lldb_private::Declaration &ref() const;
61 SBDeclaration(const lldb_private::Declaration *lldb_object_ptr);
63 void SetDeclaration(const lldb_private::Declaration &lldb_object_ref);
65 std::unique_ptr<lldb_private::Declaration> m_opaque_ap;
70 #endif // LLDB_SBDeclaration_h_