SBFunction.h revision 89f1aa732c8b1df90cbbfe116b6f06cf80a25ae3
1//===-- SBFunction.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_SBFunction_h_ 11#define LLDB_SBFunction_h_ 12 13#include "lldb/API/SBDefines.h" 14#include "lldb/API/SBAddress.h" 15#include "lldb/API/SBInstructionList.h" 16 17namespace lldb { 18 19class SBFunction 20{ 21public: 22 23 SBFunction (); 24 25 SBFunction (const lldb::SBFunction &rhs); 26 27#ifndef SWIG 28 const lldb::SBFunction & 29 operator = (const lldb::SBFunction &rhs); 30#endif 31 32 33 ~SBFunction (); 34 35 bool 36 IsValid () const; 37 38 const char * 39 GetName() const; 40 41 const char * 42 GetMangledName () const; 43 44 lldb::SBInstructionList 45 GetInstructions (lldb::SBTarget target); 46 47 SBAddress 48 GetStartAddress (); 49 50 SBAddress 51 GetEndAddress (); 52 53 uint32_t 54 GetPrologueByteSize (); 55 56#ifndef SWIG 57 bool 58 operator == (const lldb::SBFunction &rhs) const; 59 60 bool 61 operator != (const lldb::SBFunction &rhs) const; 62#endif 63 64 bool 65 GetDescription (lldb::SBStream &description); 66 67protected: 68 69#ifndef SWIG 70 71 lldb_private::Function * 72 get (); 73 74 void 75 reset (lldb_private::Function *lldb_object_ptr); 76 77#endif 78 79private: 80 friend class SBFrame; 81 friend class SBSymbolContext; 82 83 SBFunction (lldb_private::Function *lldb_object_ptr); 84 85 86 lldb_private::Function *m_opaque_ptr; 87}; 88 89 90} // namespace lldb 91 92#endif // LLDB_SBFunction_h_ 93