]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBTypeSummary.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / include / lldb / API / SBTypeSummary.h
1 //===-- SBTypeSummary.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_SBTypeSummary_h_
11 #define LLDB_SBTypeSummary_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 #ifndef LLDB_DISABLE_PYTHON
16
17 namespace lldb {
18     
19     class SBTypeSummary
20     {
21     public:
22         
23         SBTypeSummary();
24         
25         static SBTypeSummary
26         CreateWithSummaryString (const char* data,
27                                  uint32_t options = 0); // see lldb::eTypeOption values
28         
29         static SBTypeSummary
30         CreateWithFunctionName (const char* data,
31                                 uint32_t options = 0); // see lldb::eTypeOption values
32         
33         static SBTypeSummary
34         CreateWithScriptCode (const char* data,
35                               uint32_t options = 0); // see lldb::eTypeOption values
36         
37         SBTypeSummary (const lldb::SBTypeSummary &rhs);
38         
39         ~SBTypeSummary ();
40         
41         bool
42         IsValid() const;
43         
44         bool
45         IsFunctionCode();
46         
47         bool
48         IsFunctionName();
49         
50         bool
51         IsSummaryString();
52         
53         const char*
54         GetData ();
55         
56         void
57         SetSummaryString (const char* data);
58         
59         void
60         SetFunctionName (const char* data);
61         
62         void
63         SetFunctionCode (const char* data);
64         
65         uint32_t
66         GetOptions ();
67         
68         void
69         SetOptions (uint32_t);
70         
71         bool
72         GetDescription (lldb::SBStream &description, 
73                         lldb::DescriptionLevel description_level);
74         
75         lldb::SBTypeSummary &
76         operator = (const lldb::SBTypeSummary &rhs);
77         
78         bool
79         IsEqualTo (lldb::SBTypeSummary &rhs);
80
81         bool
82         operator == (lldb::SBTypeSummary &rhs);
83         
84         bool
85         operator != (lldb::SBTypeSummary &rhs);
86         
87     protected:
88         friend class SBDebugger;
89         friend class SBTypeCategory;
90         friend class SBValue;
91         
92         lldb::TypeSummaryImplSP
93         GetSP ();
94         
95         void
96         SetSP (const lldb::TypeSummaryImplSP &typefilter_impl_sp);    
97         
98         lldb::TypeSummaryImplSP m_opaque_sp;
99         
100         SBTypeSummary (const lldb::TypeSummaryImplSP &);
101         
102         bool
103         CopyOnWrite_Impl();
104         
105         bool
106         ChangeSummaryType (bool want_script);
107         
108     };
109     
110     
111 } // namespace lldb
112
113 #endif // LLDB_DISABLE_PYTHON
114
115 #endif // LLDB_SBTypeSummary_h_