SBBlock.h revision e49ec18f1868168c8927ae30a379db176ca8cce3
1//===-- SBBlock.h -----------------------------------------------*- 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
10#ifndef LLDB_SBBlock_h_
11#define LLDB_SBBlock_h_
12
13#include "lldb/API/SBDefines.h"
14
15namespace lldb {
16
17class SBBlock
18{
19public:
20
21    SBBlock ();
22
23    ~SBBlock ();
24
25    bool
26    IsInlined () const;
27
28    bool
29    IsValid () const;
30
31    const char *
32    GetInlinedName () const;
33
34    lldb::SBFileSpec
35    GetInlinedCallSiteFile () const;
36
37    uint32_t
38    GetInlinedCallSiteLine () const;
39
40    uint32_t
41    GetInlinedCallSiteColumn () const;
42
43    lldb::SBBlock
44    GetParent ();
45
46    lldb::SBBlock
47    GetSibling ();
48
49    lldb::SBBlock
50    GetFirstChild ();
51
52    bool
53    GetDescription (lldb::SBStream &description);
54
55private:
56    friend class SBFrame;
57    friend class SBSymbolContext;
58
59#ifndef SWIG
60
61    SBBlock (lldb_private::Block *lldb_object_ptr);
62
63    void
64    AppendVariables (bool can_create, bool get_parent_variables, lldb_private::VariableList *var_list);
65
66#endif
67
68    lldb_private::Block *m_opaque_ptr;
69};
70
71
72} // namespace lldb
73
74#endif // LLDB_SBBlock_h_
75