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_DEPRECATED_FIXME("Not compatible with discontinuous functions.",
47 "GetRanges()")
48 lldb::SBAddress GetEndAddress();
49
51
52 const char *GetArgumentName(uint32_t arg_idx);
53
54 uint32_t GetPrologueByteSize();
55
56 lldb::SBType GetType();
57
58 lldb::SBBlock GetBlock();
59
60 lldb::LanguageType GetLanguage();
61
62 bool GetIsOptimized();
63
64 bool operator==(const lldb::SBFunction &rhs) const;
65
66 bool operator!=(const lldb::SBFunction &rhs) const;
67
68 bool GetDescription(lldb::SBStream &description);
69
70protected:
72
73 void reset(lldb_private::Function *lldb_object_ptr);
74
75private:
76 friend class SBAddress;
77 friend class SBFrame;
78 friend class SBSymbolContext;
79
80 SBFunction(lldb_private::Function *lldb_object_ptr);
81
82 lldb_private::Function *m_opaque_ptr = nullptr;
83};
84
85} // namespace lldb
86
87#endif // LLDB_API_SBFUNCTION_H
static llvm::Expected< llvm::DWARFAddressRangesVector > GetRanges(DWARFUnit &unit, const DWARFFormValue &value)
#define LLDB_API
Definition: SBDefines.h:28
#define LLDB_DEPRECATED_FIXME(MSG, FIX)
Definition: SBDefines.h:39
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