blob: 0caacf3453d4a0d9950f1430f00d1cfd60b6d1b1 [file] [log] [blame]
Enrico Granata419d7912015-09-04 00:33:51 +00001//===-- Cocoa.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 liblldb_Cocoa_h_
11#define liblldb_Cocoa_h_
12
13#include "lldb/Core/Stream.h"
14#include "lldb/Core/ValueObject.h"
15#include "lldb/DataFormatters/TypeSummary.h"
16#include "lldb/Target/ObjCLanguageRuntime.h"
17
18namespace lldb_private {
19 namespace formatters
20 {
Enrico Granata419d7912015-09-04 00:33:51 +000021 bool
22 NSIndexSetSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
23
24 bool
25 NSArraySummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
26
Enrico Granata419d7912015-09-04 00:33:51 +000027 template<bool needs_at>
28 bool
29 NSDataSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
30
31 bool
32 NSNumberSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
33
34 bool
35 NSNotificationSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
36
37 bool
38 NSTimeZoneSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
39
40 bool
41 NSMachPortSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
42
43 bool
44 NSDateSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
45
46 bool
47 NSBundleSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
48
49 bool
Enrico Granata419d7912015-09-04 00:33:51 +000050 NSURLSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
51
52 extern template bool
Enrico Granata419d7912015-09-04 00:33:51 +000053 NSDataSummaryProvider<true> (ValueObject&, Stream&, const TypeSummaryOptions&) ;
54
55 extern template bool
56 NSDataSummaryProvider<false> (ValueObject&, Stream&, const TypeSummaryOptions&) ;
57
58 SyntheticChildrenFrontEnd* NSArraySyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP);
59
Enrico Granata419d7912015-09-04 00:33:51 +000060 SyntheticChildrenFrontEnd* NSIndexPathSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP);
61
62 bool
63 ObjCClassSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
64
65 SyntheticChildrenFrontEnd* ObjCClassSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP);
66
67 bool
68 ObjCBOOLSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
69
70 template <bool is_sel_ptr>
71 bool
72 ObjCSELSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
73
74 extern template bool
75 ObjCSELSummaryProvider<true> (ValueObject&, Stream&, const TypeSummaryOptions&);
76
77 extern template bool
78 ObjCSELSummaryProvider<false> (ValueObject&, Stream&, const TypeSummaryOptions&);
79
80 bool
81 RuntimeSpecificDescriptionSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
Enrico Granata16709ef2015-11-06 02:43:32 +000082
83 bool
84 NSError_SummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
85
86 bool
87 NSException_SummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options);
88
89 SyntheticChildrenFrontEnd*
90 NSErrorSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp);
91
92 SyntheticChildrenFrontEnd*
93 NSExceptionSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp);
Enrico Granata419d7912015-09-04 00:33:51 +000094 } // namespace formatters
95} // namespace lldb_private
96
97#endif // liblldb_Cocoa_h_