LLDB
mainline
llvm-project
lldb
include
lldb
API
SBBlock.h
Go to the documentation of this file.
1
//===-- SBBlock.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_SBBLOCK_H
10
#define LLDB_API_SBBLOCK_H
11
12
#include "
lldb/API/SBAddressRange.h
"
13
#include "
lldb/API/SBAddressRangeList.h
"
14
#include "
lldb/API/SBDefines.h
"
15
#include "
lldb/API/SBFrame.h
"
16
#include "
lldb/API/SBTarget.h
"
17
#include "
lldb/API/SBValueList.h
"
18
#include "
lldb/lldb-types.h
"
19
20
namespace
lldb
{
21
22
class
LLDB_API
SBBlock
{
23
public
:
24
SBBlock
();
25
26
SBBlock
(
const
lldb::SBBlock
&rhs);
27
28
~SBBlock
();
29
30
const
lldb::SBBlock
&
operator=
(
const
lldb::SBBlock
&rhs);
31
32
bool
IsInlined
()
const
;
33
34
explicit
operator
bool
()
const
;
35
36
bool
operator==
(
const
lldb::SBBlock
&rhs)
const
;
37
38
bool
operator!=
(
const
lldb::SBBlock
&rhs)
const
;
39
40
bool
IsValid
()
const
;
41
42
const
char
*
GetInlinedName
()
const
;
43
44
lldb::SBFileSpec
GetInlinedCallSiteFile
()
const
;
45
46
uint32_t
GetInlinedCallSiteLine
()
const
;
47
48
uint32_t
GetInlinedCallSiteColumn
()
const
;
49
50
lldb::SBBlock
GetParent
();
51
52
lldb::SBBlock
GetSibling
();
53
54
lldb::SBBlock
GetFirstChild
();
55
56
uint32_t
GetNumRanges
();
57
58
lldb::SBAddress
GetRangeStartAddress
(uint32_t idx);
59
60
lldb::SBAddress
GetRangeEndAddress
(uint32_t idx);
61
62
lldb::SBAddressRangeList
GetRanges
();
63
64
uint32_t
GetRangeIndexForBlockAddress
(
lldb::SBAddress
block_addr);
65
66
lldb::SBValueList
GetVariables
(
lldb::SBFrame
&frame,
bool
arguments,
67
bool
locals,
bool
statics,
68
lldb::DynamicValueType
use_dynamic);
69
70
lldb::SBValueList
GetVariables
(
lldb::SBTarget
&target,
bool
arguments,
71
bool
locals,
bool
statics);
72
/// Get the inlined block that contains this block.
73
///
74
/// \return
75
/// If this block is inlined, it will return this block, else
76
/// parent blocks will be searched to see if any contain this
77
/// block and are themselves inlined. An invalid SBBlock will
78
/// be returned if this block nor any parent blocks are inlined
79
/// function blocks.
80
lldb::SBBlock
GetContainingInlinedBlock
();
81
82
bool
GetDescription
(
lldb::SBStream
&description);
83
84
private
:
85
friend
class
SBAddress
;
86
friend
class
SBFrame
;
87
friend
class
SBFunction
;
88
friend
class
SBSymbolContext
;
89
90
lldb_private::Block
*
GetPtr
();
91
92
void
SetPtr
(
lldb_private::Block
*lldb_object_ptr);
93
94
SBBlock
(
lldb_private::Block
*lldb_object_ptr);
95
96
void
AppendVariables
(
bool
can_create,
bool
get_parent_variables,
97
lldb_private::VariableList
*var_list);
98
99
lldb_private::Block
*
m_opaque_ptr
=
nullptr
;
100
};
101
102
}
// namespace lldb
103
104
#endif
// LLDB_API_SBBLOCK_H
GetRanges
static llvm::Expected< llvm::DWARFAddressRangesVector > GetRanges(DWARFUnit &unit, const DWARFFormValue &value)
Definition
DWARFDebugInfoEntry.cpp:86
SBAddressRangeList.h
SBAddressRange.h
SBDefines.h
LLDB_API
#define LLDB_API
Definition
SBDefines.h:28
SBFrame.h
SBTarget.h
SBValueList.h
bool
lldb::SBAddressRangeList
Definition
SBAddressRangeList.h:22
lldb::SBAddress
Definition
SBAddress.h:17
lldb::SBBlock
Definition
SBBlock.h:22
lldb::SBBlock::AppendVariables
void AppendVariables(bool can_create, bool get_parent_variables, lldb_private::VariableList *var_list)
Definition
SBBlock.cpp:130
lldb::SBBlock::GetRangeEndAddress
lldb::SBAddress GetRangeEndAddress(uint32_t idx)
Definition
SBBlock.cpp:224
lldb::SBBlock::GetNumRanges
uint32_t GetNumRanges()
Definition
SBBlock.cpp:203
lldb::SBBlock::GetInlinedName
const char * GetInlinedName() const
Definition
SBBlock.cpp:80
lldb::SBBlock::GetInlinedCallSiteLine
uint32_t GetInlinedCallSiteLine() const
Definition
SBBlock.cpp:106
lldb::SBBlock::SBSymbolContext
friend class SBSymbolContext
Definition
SBBlock.h:88
lldb::SBBlock::GetRangeStartAddress
lldb::SBAddress GetRangeStartAddress(uint32_t idx)
Definition
SBBlock.cpp:211
lldb::SBBlock::IsValid
bool IsValid() const
Definition
SBBlock.cpp:46
lldb::SBBlock::operator=
const lldb::SBBlock & operator=(const lldb::SBBlock &rhs)
Definition
SBBlock.cpp:37
lldb::SBBlock::SBAddress
friend class SBAddress
Definition
SBBlock.h:85
lldb::SBBlock::GetContainingInlinedBlock
lldb::SBBlock GetContainingInlinedBlock()
Get the inlined block that contains this block.
Definition
SBBlock.cpp:149
lldb::SBBlock::GetRangeIndexForBlockAddress
uint32_t GetRangeIndexForBlockAddress(lldb::SBAddress block_addr)
Definition
SBBlock.cpp:247
lldb::SBBlock::GetVariables
lldb::SBValueList GetVariables(lldb::SBFrame &frame, bool arguments, bool locals, bool statics, lldb::DynamicValueType use_dynamic)
Definition
SBBlock.cpp:257
lldb::SBBlock::SetPtr
void SetPtr(lldb_private::Block *lldb_object_ptr)
Definition
SBBlock.cpp:178
lldb::SBBlock::GetParent
lldb::SBBlock GetParent()
Definition
SBBlock.cpp:140
lldb::SBBlock::GetFirstChild
lldb::SBBlock GetFirstChild()
Definition
SBBlock.cpp:167
lldb::SBBlock::IsInlined
bool IsInlined() const
Definition
SBBlock.cpp:72
lldb::SBBlock::GetInlinedCallSiteColumn
uint32_t GetInlinedCallSiteColumn() const
Definition
SBBlock.cpp:118
lldb::SBBlock::SBFrame
friend class SBFrame
Definition
SBBlock.h:86
lldb::SBBlock::operator==
bool operator==(const lldb::SBBlock &rhs) const
Definition
SBBlock.cpp:56
lldb::SBBlock::SBFunction
friend class SBFunction
Definition
SBBlock.h:87
lldb::SBBlock::GetSibling
lldb::SBBlock GetSibling()
Definition
SBBlock.cpp:158
lldb::SBBlock::GetInlinedCallSiteFile
lldb::SBFileSpec GetInlinedCallSiteFile() const
Definition
SBBlock.cpp:93
lldb::SBBlock::m_opaque_ptr
lldb_private::Block * m_opaque_ptr
Definition
SBBlock.h:99
lldb::SBBlock::GetPtr
lldb_private::Block * GetPtr()
Definition
SBBlock.cpp:176
lldb::SBBlock::operator!=
bool operator!=(const lldb::SBBlock &rhs) const
Definition
SBBlock.cpp:66
lldb::SBBlock::SBBlock
SBBlock()
Definition
SBBlock.cpp:28
lldb::SBBlock::GetDescription
bool GetDescription(lldb::SBStream &description)
Definition
SBBlock.cpp:180
lldb::SBFileSpec
Definition
SBFileSpec.h:16
lldb::SBFrame
Definition
SBFrame.h:26
lldb::SBStream
Definition
SBStream.h:22
lldb::SBTarget
Definition
SBTarget.h:38
lldb::SBValueList
Definition
SBValueList.h:18
lldb_private::Block
A class that describes a single lexical block.
Definition
Block.h:41
lldb_private::VariableList
Definition
VariableList.h:18
lldb-types.h
lldb
Definition
SBAddress.h:15
lldb::DynamicValueType
DynamicValueType
Definition
lldb-enumerations.h:549
Generated on
for LLDB by
1.14.0