1 //===-- SBSymbolContext.h ---------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBSymbolContext_h_
11 #define LLDB_SBSymbolContext_h_
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBBlock.h"
15 #include "lldb/API/SBCompileUnit.h"
16 #include "lldb/API/SBFunction.h"
17 #include "lldb/API/SBLineEntry.h"
18 #include "lldb/API/SBModule.h"
19 #include "lldb/API/SBSymbol.h"
28 SBSymbolContext (const lldb::SBSymbolContext& rhs);
35 const lldb::SBSymbolContext &
36 operator = (const lldb::SBSymbolContext &rhs);
38 lldb::SBModule GetModule ();
39 lldb::SBCompileUnit GetCompileUnit ();
40 lldb::SBFunction GetFunction ();
41 lldb::SBBlock GetBlock ();
42 lldb::SBLineEntry GetLineEntry ();
43 lldb::SBSymbol GetSymbol ();
45 void SetModule (lldb::SBModule module);
46 void SetCompileUnit (lldb::SBCompileUnit compile_unit);
47 void SetFunction (lldb::SBFunction function);
48 void SetBlock (lldb::SBBlock block);
49 void SetLineEntry (lldb::SBLineEntry line_entry);
50 void SetSymbol (lldb::SBSymbol symbol);
53 GetParentOfInlinedScope (const SBAddress &curr_frame_pc,
54 SBAddress &parent_frame_addr) const;
57 GetDescription (lldb::SBStream &description);
60 friend class SBAddress;
62 friend class SBModule;
63 friend class SBThread;
64 friend class SBTarget;
65 friend class SBSymbolContextList;
67 lldb_private::SymbolContext*
70 lldb_private::SymbolContext&
73 lldb_private::SymbolContext&
76 const lldb_private::SymbolContext&
79 lldb_private::SymbolContext *
82 SBSymbolContext (const lldb_private::SymbolContext *sc_ptr);
85 SetSymbolContext (const lldb_private::SymbolContext *sc_ptr);
88 std::unique_ptr<lldb_private::SymbolContext> m_opaque_ap;
94 #endif // LLDB_SBSymbolContext_h_