1061da546Spatrick //===-- NSString.h ---------------------------------------------------*- C++ 2061da546Spatrick //-*-===// 3061da546Spatrick // 4061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 6061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7061da546Spatrick // 8061da546Spatrick //===----------------------------------------------------------------------===// 9061da546Spatrick 10*dda28197Spatrick #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 11*dda28197Spatrick #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 12061da546Spatrick 13061da546Spatrick #include "lldb/Core/ValueObject.h" 14061da546Spatrick #include "lldb/DataFormatters/TypeSummary.h" 15061da546Spatrick #include "lldb/Utility/Stream.h" 16061da546Spatrick 17061da546Spatrick #include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h" 18061da546Spatrick 19061da546Spatrick namespace lldb_private { 20061da546Spatrick namespace formatters { 21061da546Spatrick bool NSStringSummaryProvider(ValueObject &valobj, Stream &stream, 22061da546Spatrick const TypeSummaryOptions &options); 23061da546Spatrick 24061da546Spatrick bool NSTaggedString_SummaryProvider( 25061da546Spatrick ValueObject &valobj, ObjCLanguageRuntime::ClassDescriptorSP descriptor, 26061da546Spatrick Stream &stream, const TypeSummaryOptions &summary_options); 27061da546Spatrick 28061da546Spatrick bool NSAttributedStringSummaryProvider(ValueObject &valobj, Stream &stream, 29061da546Spatrick const TypeSummaryOptions &options); 30061da546Spatrick 31061da546Spatrick bool NSMutableAttributedStringSummaryProvider( 32061da546Spatrick ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options); 33061da546Spatrick 34061da546Spatrick class NSString_Additionals { 35061da546Spatrick public: 36061da546Spatrick static std::map<ConstString, CXXFunctionSummaryFormat::Callback> & 37061da546Spatrick GetAdditionalSummaries(); 38061da546Spatrick }; 39061da546Spatrick } // namespace formatters 40061da546Spatrick } // namespace lldb_private 41061da546Spatrick 42*dda28197Spatrick #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSSTRING_H 43