LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

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"
15 #include "lldb/API/SBInstructionList.h"
16
17 namespace lldb {
18
19 class SBFunction
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
41 lldb::SBInstructionList
42 GetInstructions (lldb::SBTarget target);
43
44 lldb::SBInstructionList
45 GetInstructions (lldb::SBTarget target, const char *flavor);
46
47 lldb::SBAddress
48 GetStartAddress ();
49
50 lldb::SBAddress
51 GetEndAddress ();
52
53 uint32_t
54 GetPrologueByteSize ();
55
56 lldb::SBType
57 GetType ();
58
59 lldb::SBBlock
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_