SBFunction.h revision 538eb82a89a68dbc57251915080bd5152b333978
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/SBInstructionList.h" 15 16namespace lldb { 17 18class SBFunction 19{ 20public: 21 22 SBFunction (); 23 24 SBFunction (const lldb::SBFunction &rhs); 25 26#ifndef SWIG 27 const lldb::SBFunction & 28 operator = (const lldb::SBFunction &rhs); 29#endif 30 31 32 ~SBFunction (); 33 34 bool 35 IsValid () const; 36 37 const char * 38 GetName() const; 39 40 const char * 41 GetMangledName () const; 42 43 lldb::SBInstructionList 44 GetInstructions (lldb::SBTarget target); 45 46#ifndef SWIG 47 bool 48 operator == (const lldb::SBFunction &rhs) const; 49 50 bool 51 operator != (const lldb::SBFunction &rhs) const; 52#endif 53 54 bool 55 GetDescription (lldb::SBStream &description); 56 57protected: 58 59 lldb_private::Function * 60 get (); 61 62private: 63 friend class SBFrame; 64 friend class SBSymbolContext; 65 66 SBFunction (lldb_private::Function *lldb_object_ptr); 67 68 69 lldb_private::Function *m_opaque_ptr; 70}; 71 72 73} // namespace lldb 74 75#endif // LLDB_SBFunction_h_ 76