LLDB mainline
SBFunction.h
Go to the documentation of this file.
1//===-- SBFunction.h --------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_API_SBFUNCTION_H
10#define LLDB_API_SBFUNCTION_H
11
12#include "lldb/API/SBAddress.h"
14#include "lldb/API/SBDefines.h"
16
17namespace lldb {
18
20public:
21 SBFunction();
22
23 SBFunction(const lldb::SBFunction &rhs);
24
25 const lldb::SBFunction &operator=(const lldb::SBFunction &rhs);
26
28
29 explicit operator bool() const;
30
31 bool IsValid() const;
32
33 const char *GetName() const;
34
35 const char *GetDisplayName() const;
36
37 const char *GetMangledName() const;
38
39 lldb::SBInstructionList GetInstructions(lldb::SBTarget target);
40
41 lldb::SBInstructionList GetInstructions(lldb::SBTarget target,
42 const char *flavor);
43
44 lldb::SBAddress GetStartAddress();
45
46 lldb::SBAddress GetEndAddress();
47
48 lldb::SBAddressRangeList GetRanges();
49
50 const char *GetArgumentName(uint32_t arg_idx);
51
52 uint32_t GetPrologueByteSize();
53
54 lldb::SBType GetType();
55
56 lldb::SBBlock GetBlock();
57
58 lldb::LanguageType GetLanguage();
59
60 bool GetIsOptimized();
61
62 bool operator==(const lldb::SBFunction &rhs) const;
63
64 bool operator!=(const lldb::SBFunction &rhs) const;
65
66 bool GetDescription(lldb::SBStream &description);
67
68protected:
70
71 void reset(lldb_private::Function *lldb_object_ptr);
72
73private:
74 friend class SBAddress;
75 friend class SBFrame;
76 friend class SBSymbolContext;
77
78 SBFunction(lldb_private::Function *lldb_object_ptr);
79
80 lldb_private::Function *m_opaque_ptr = nullptr;
81};
82
83} // namespace lldb
84
85#endif // LLDB_API_SBFUNCTION_H
#define LLDB_API
Definition: SBDefines.h:28
static llvm::StringRef GetName(XcodeSDK::Type type)
Definition: XcodeSDK.cpp:21
A class that describes a function.
Definition: Function.h:399
Definition: SBAddress.h:15
LanguageType
Programming language type.
bool LLDB_API operator==(const SBAddress &lhs, const SBAddress &rhs)
Definition: SBAddress.cpp:60