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
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 const char *GetBaseName() const;
40
42
44 const char *flavor);
45
47
48 LLDB_DEPRECATED_FIXME("Not compatible with discontinuous functions.",
49 "GetRanges()")
50 lldb::SBAddress GetEndAddress();
51
53
54 const char *GetArgumentName(uint32_t arg_idx);
55
56 uint32_t GetPrologueByteSize();
57
59
61
63
64 bool GetIsOptimized();
65
66 bool operator==(const lldb::SBFunction &rhs) const;
67
68 bool operator!=(const lldb::SBFunction &rhs) const;
69
70 bool GetDescription(lldb::SBStream &description);
71
72protected:
74
75 void reset(lldb_private::Function *lldb_object_ptr);
76
77private:
78 friend class SBAddress;
79 friend class SBFrame;
80 friend class SBSymbolContext;
81
82 SBFunction(lldb_private::Function *lldb_object_ptr);
83
85};
86
87} // namespace lldb
88
89#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
uint32_t GetPrologueByteSize()
const char * GetBaseName() const
const char * GetArgumentName(uint32_t arg_idx)
const char * GetMangledName() const
lldb_private::Function * m_opaque_ptr
Definition SBFunction.h:84
bool GetDescription(lldb::SBStream &description)
lldb::SBAddress GetStartAddress()
const lldb::SBFunction & operator=(const lldb::SBFunction &rhs)
friend class SBSymbolContext
Definition SBFunction.h:80
friend class SBAddress
Definition SBFunction.h:78
bool IsValid() const
const char * GetDisplayName() const
lldb::SBBlock GetBlock()
lldb_private::Function * get()
friend class SBFrame
Definition SBFunction.h:79
lldb::SBInstructionList GetInstructions(lldb::SBTarget target)
bool operator!=(const lldb::SBFunction &rhs) const
void reset(lldb_private::Function *lldb_object_ptr)
bool operator==(const lldb::SBFunction &rhs) const
lldb::LanguageType GetLanguage()
lldb::SBType GetType()
A class that describes a function.
Definition Function.h:400
LanguageType
Programming language type.