blob: 83895edcc066c2d194845e6364933dc482162c5a [file] [log] [blame]
Johnny Chen3cfd5e82011-07-18 21:30:21 +00001//===-- SWIG Interface for SBBlock ------------------------------*- 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
10namespace lldb {
11
12%feature("docstring",
13"Represents a lexical block. SBFunction contains SBBlock(s)."
14) SBBlock;
15class SBBlock
16{
17public:
18
19 SBBlock ();
20
21 SBBlock (const lldb::SBBlock &rhs);
22
23 ~SBBlock ();
24
25 %feature("docstring",
26 "Does this block represent an inlined function?"
27 ) IsInlined;
28 bool
29 IsInlined () const;
30
31 bool
32 IsValid () const;
33
34 %feature("docstring", "
35 Get the function name if this block represents an inlined function;
36 otherwise, return None.
37 ") GetInlinedName;
38 const char *
39 GetInlinedName () const;
40
41 %feature("docstring", "
42 Get the call site file if this block represents an inlined function;
43 otherwise, return an invalid file spec.
44 ") GetInlinedCallSiteFile;
45 lldb::SBFileSpec
46 GetInlinedCallSiteFile () const;
47
48 %feature("docstring", "
49 Get the call site line if this block represents an inlined function;
50 otherwise, return 0.
51 ") GetInlinedCallSiteLine;
52 uint32_t
53 GetInlinedCallSiteLine () const;
54
55 %feature("docstring", "
56 Get the call site column if this block represents an inlined function;
57 otherwise, return 0.
58 ") GetInlinedCallSiteColumn;
59 uint32_t
60 GetInlinedCallSiteColumn () const;
61
62 %feature("docstring", "Get the parent block.") GetParent;
63 lldb::SBBlock
64 GetParent ();
65
Greg Clayton23b8abb2011-09-26 07:11:27 +000066 %feature("docstring", "Get the inlined block that is or contains this block.") GetContainingInlinedBlock;
67 lldb::SBBlock
68 GetContainingInlinedBlock ();
69
Johnny Chen3cfd5e82011-07-18 21:30:21 +000070 %feature("docstring", "Get the sibling block for this block.") GetSibling;
71 lldb::SBBlock
72 GetSibling ();
73
74 %feature("docstring", "Get the first child block.") GetFirstChild;
75 lldb::SBBlock
76 GetFirstChild ();
Greg Clayton23b8abb2011-09-26 07:11:27 +000077
78 uint32_t
79 GetNumRanges ();
80
81 lldb::SBAddress
82 GetRangeStartAddress (uint32_t idx);
83
84 lldb::SBAddress
85 GetRangeEndAddress (uint32_t idx);
86
87 uint32_t
88 GetRangeIndexForBlockAddress (lldb::SBAddress block_addr);
Johnny Chen3cfd5e82011-07-18 21:30:21 +000089
90 bool
91 GetDescription (lldb::SBStream &description);
92};
93
94} // namespace lldb