1 //===-- NSString.h ---------------------------------------------------*- C++ 2 //-*-===// 3 // 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 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 11 #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 12 13 #include "lldb/Core/ValueObject.h" 14 #include "lldb/DataFormatters/TypeSummary.h" 15 #include "lldb/Utility/Stream.h" 16 17 #include "Plugins/LanguageRuntime/ObjC/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 // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 43