1 //===-- NSString.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_NSString_h_
12 #define liblldb_NSString_h_
13 
14 #include "lldb/Core/Stream.h"
15 #include "lldb/Core/ValueObject.h"
16 #include "lldb/DataFormatters/TypeSummary.h"
17 #include "lldb/Target/ObjCLanguageRuntime.h"
18 
19 namespace lldb_private {
20 namespace formatters {
21 bool NSStringSummaryProvider(ValueObject &valobj, Stream &stream,
22                              const TypeSummaryOptions &options);
23 
24 bool NSTaggedString_SummaryProvider(
25     ValueObject &valobj, ObjCLanguageRuntime::ClassDescriptorSP descriptor,
26     Stream &stream, const TypeSummaryOptions &summary_options);
27 
28 bool NSAttributedStringSummaryProvider(ValueObject &valobj, Stream &stream,
29                                        const TypeSummaryOptions &options);
30 
31 bool NSMutableAttributedStringSummaryProvider(
32     ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options);
33 
34 class NSString_Additionals {
35 public:
36   static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &
37   GetAdditionalSummaries();
38 };
39 } // namespace formatters
40 } // namespace lldb_private
41 
42 #endif // liblldb_CF_h_
43