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/DataFormatters/TypeSummary.h" 14 #include "lldb/Utility/Stream.h" 15 #include "lldb/ValueObject/ValueObject.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 NSIndirectTaggedString_SummaryProvider( 29 ValueObject &valobj, ObjCLanguageRuntime::ClassDescriptorSP descriptor, 30 Stream &stream, const TypeSummaryOptions &summary_options); 31 32 bool NSAttributedStringSummaryProvider(ValueObject &valobj, Stream &stream, 33 const TypeSummaryOptions &options); 34 35 bool NSMutableAttributedStringSummaryProvider( 36 ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options); 37 38 class NSString_Additionals { 39 public: 40 static std::map<ConstString, CXXFunctionSummaryFormat::Callback> & 41 GetAdditionalSummaries(); 42 }; 43 } // namespace formatters 44 } // namespace lldb_private 45 46 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 47