]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/Plugins/Language/ObjC/Cocoa.h
Vendor import of lldb trunk r290819:
[FreeBSD/FreeBSD.git] / source / Plugins / Language / ObjC / Cocoa.h
1 //===-- Cocoa.h ---------------------------------------------------*- C++
2 //-*-===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 #ifndef liblldb_Cocoa_h_
12 #define liblldb_Cocoa_h_
13
14 #include "lldb/Core/Stream.h"
15 #include "lldb/Core/ValueObject.h"
16 #include "lldb/DataFormatters/TypeSummary.h"
17 #include "lldb/DataFormatters/TypeSynthetic.h"
18 #include "lldb/Target/ObjCLanguageRuntime.h"
19
20 namespace lldb_private {
21 namespace formatters {
22 bool NSIndexSetSummaryProvider(ValueObject &valobj, Stream &stream,
23                                const TypeSummaryOptions &options);
24
25 bool NSArraySummaryProvider(ValueObject &valobj, Stream &stream,
26                             const TypeSummaryOptions &options);
27
28 template <bool needs_at>
29 bool NSDataSummaryProvider(ValueObject &valobj, Stream &stream,
30                            const TypeSummaryOptions &options);
31
32 bool NSNumberSummaryProvider(ValueObject &valobj, Stream &stream,
33                              const TypeSummaryOptions &options);
34
35 bool NSNotificationSummaryProvider(ValueObject &valobj, Stream &stream,
36                                    const TypeSummaryOptions &options);
37
38 bool NSTimeZoneSummaryProvider(ValueObject &valobj, Stream &stream,
39                                const TypeSummaryOptions &options);
40
41 bool NSMachPortSummaryProvider(ValueObject &valobj, Stream &stream,
42                                const TypeSummaryOptions &options);
43
44 bool NSDateSummaryProvider(ValueObject &valobj, Stream &stream,
45                            const TypeSummaryOptions &options);
46
47 bool NSBundleSummaryProvider(ValueObject &valobj, Stream &stream,
48                              const TypeSummaryOptions &options);
49
50 bool NSURLSummaryProvider(ValueObject &valobj, Stream &stream,
51                           const TypeSummaryOptions &options);
52
53 extern template bool NSDataSummaryProvider<true>(ValueObject &, Stream &,
54                                                  const TypeSummaryOptions &);
55
56 extern template bool NSDataSummaryProvider<false>(ValueObject &, Stream &,
57                                                   const TypeSummaryOptions &);
58
59 SyntheticChildrenFrontEnd *
60 NSArraySyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);
61
62 SyntheticChildrenFrontEnd *
63 NSIndexPathSyntheticFrontEndCreator(CXXSyntheticChildren *,
64                                     lldb::ValueObjectSP);
65
66 bool ObjCClassSummaryProvider(ValueObject &valobj, Stream &stream,
67                               const TypeSummaryOptions &options);
68
69 SyntheticChildrenFrontEnd *
70 ObjCClassSyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);
71
72 bool ObjCBOOLSummaryProvider(ValueObject &valobj, Stream &stream,
73                              const TypeSummaryOptions &options);
74
75 bool ObjCBooleanSummaryProvider(ValueObject &valobj, Stream &stream,
76                                 const TypeSummaryOptions &options);
77
78 template <bool is_sel_ptr>
79 bool ObjCSELSummaryProvider(ValueObject &valobj, Stream &stream,
80                             const TypeSummaryOptions &options);
81
82 extern template bool ObjCSELSummaryProvider<true>(ValueObject &, Stream &,
83                                                   const TypeSummaryOptions &);
84
85 extern template bool ObjCSELSummaryProvider<false>(ValueObject &, Stream &,
86                                                    const TypeSummaryOptions &);
87
88 bool NSError_SummaryProvider(ValueObject &valobj, Stream &stream,
89                              const TypeSummaryOptions &options);
90
91 bool NSException_SummaryProvider(ValueObject &valobj, Stream &stream,
92                                  const TypeSummaryOptions &options);
93
94 SyntheticChildrenFrontEnd *
95 NSErrorSyntheticFrontEndCreator(CXXSyntheticChildren *,
96                                 lldb::ValueObjectSP valobj_sp);
97
98 SyntheticChildrenFrontEnd *
99 NSExceptionSyntheticFrontEndCreator(CXXSyntheticChildren *,
100                                     lldb::ValueObjectSP valobj_sp);
101
102 class NSArray_Additionals {
103 public:
104   static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &
105   GetAdditionalSummaries();
106
107   static std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &
108   GetAdditionalSynthetics();
109 };
110 } // namespace formatters
111 } // namespace lldb_private
112
113 #endif // liblldb_Cocoa_h_