1 //===-- NSString.h ---------------------------------------------------*- C++
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H
11 #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H
13 #include "lldb/Core/ValueObject.h"
14 #include "lldb/DataFormatters/TypeSummary.h"
15 #include "lldb/Utility/Stream.h"
17 #include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
19 namespace lldb_private
{
20 namespace formatters
{
21 bool NSStringSummaryProvider(ValueObject
&valobj
, Stream
&stream
,
22 const TypeSummaryOptions
&options
);
24 bool NSTaggedString_SummaryProvider(
25 ValueObject
&valobj
, ObjCLanguageRuntime::ClassDescriptorSP descriptor
,
26 Stream
&stream
, const TypeSummaryOptions
&summary_options
);
28 bool NSAttributedStringSummaryProvider(ValueObject
&valobj
, Stream
&stream
,
29 const TypeSummaryOptions
&options
);
31 bool NSMutableAttributedStringSummaryProvider(
32 ValueObject
&valobj
, Stream
&stream
, const TypeSummaryOptions
&options
);
34 class NSString_Additionals
{
36 static std::map
<ConstString
, CXXFunctionSummaryFormat::Callback
> &
37 GetAdditionalSummaries();
39 } // namespace formatters
40 } // namespace lldb_private
42 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H