LLDB API Documentation

SBFunction.h
Go to the documentation of this file.
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"
16 
17 namespace lldb {
18 
20 {
21 public:
22 
23  SBFunction ();
24 
25  SBFunction (const lldb::SBFunction &rhs);
26 
27  const lldb::SBFunction &
28  operator = (const lldb::SBFunction &rhs);
29 
30  ~SBFunction ();
31 
32  bool
33  IsValid () const;
34 
35  const char *
36  GetName() const;
37 
38  const char *
39  GetMangledName () const;
40 
43 
45  GetInstructions (lldb::SBTarget target, const char *flavor);
46 
48  GetStartAddress ();
49 
51  GetEndAddress ();
52 
53  uint32_t
55 
57  GetType ();
58 
60  GetBlock ();
61 
62  bool
63  operator == (const lldb::SBFunction &rhs) const;
64 
65  bool
66  operator != (const lldb::SBFunction &rhs) const;
67 
68  bool
69  GetDescription (lldb::SBStream &description);
70 
71 protected:
72 
73  lldb_private::Function *
74  get ();
75 
76  void
77  reset (lldb_private::Function *lldb_object_ptr);
78 
79 private:
80  friend class SBAddress;
81  friend class SBFrame;
82  friend class SBSymbolContext;
83 
84  SBFunction (lldb_private::Function *lldb_object_ptr);
85 
86 
87  lldb_private::Function *m_opaque_ptr;
88 };
89 
90 
91 } // namespace lldb
92 
93 #endif // LLDB_SBFunction_h_