SBSymbolContext.h revision 5f81547fd786584b10999c087528b323b5945896
1//===-- SBSymbolContext.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_SBSymbolContext_h_ 11#define LLDB_SBSymbolContext_h_ 12 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" 20 21namespace lldb { 22 23class SBSymbolContext 24{ 25public: 26 SBSymbolContext (); 27 28 SBSymbolContext (const lldb::SBSymbolContext& rhs); 29 30 ~SBSymbolContext (); 31 32 bool 33 IsValid () const; 34 35#ifndef SWIG 36 const lldb::SBSymbolContext & 37 operator = (const lldb::SBSymbolContext &rhs); 38#endif 39 40 SBModule GetModule (); 41 SBCompileUnit GetCompileUnit (); 42 SBFunction GetFunction (); 43 SBBlock GetBlock (); 44 SBLineEntry GetLineEntry (); 45 SBSymbol GetSymbol (); 46 47protected: 48 friend class SBFrame; 49 friend class SBThread; 50 51#ifndef SWIG 52 53 lldb_private::SymbolContext* 54 operator->() const; 55 56#endif 57 58 lldb_private::SymbolContext * 59 GetLLDBObjectPtr() const; 60 61 SBSymbolContext (const lldb_private::SymbolContext *sc_ptr); 62 63 void 64 SetSymbolContext (const lldb_private::SymbolContext *sc_ptr); 65 66private: 67 std::auto_ptr<lldb_private::SymbolContext> m_lldb_object_ap; 68}; 69 70 71} // namespace lldb 72 73#endif // LLDB_SBSymbolContext_h_ 74