brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 9617cb0 Raw
117 lines · c
1//===-- Cocoa.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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H11#define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H12 13#include "lldb/DataFormatters/TypeSummary.h"14#include "lldb/DataFormatters/TypeSynthetic.h"15#include "lldb/Utility/Stream.h"16#include "lldb/ValueObject/ValueObject.h"17 18#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"19 20namespace lldb_private {21namespace formatters {22bool NSIndexSetSummaryProvider(ValueObject &valobj, Stream &stream,23                               const TypeSummaryOptions &options);24 25bool NSArraySummaryProvider(ValueObject &valobj, Stream &stream,26                            const TypeSummaryOptions &options);27 28template <bool needs_at>29bool NSDataSummaryProvider(ValueObject &valobj, Stream &stream,30                           const TypeSummaryOptions &options);31 32bool NSNumberSummaryProvider(ValueObject &valobj, Stream &stream,33                             const TypeSummaryOptions &options);34 35bool NSDecimalNumberSummaryProvider(ValueObject &valobj, Stream &stream,36                                    const TypeSummaryOptions &options);37 38bool NSNotificationSummaryProvider(ValueObject &valobj, Stream &stream,39                                   const TypeSummaryOptions &options);40 41bool NSTimeZoneSummaryProvider(ValueObject &valobj, Stream &stream,42                               const TypeSummaryOptions &options);43 44bool NSMachPortSummaryProvider(ValueObject &valobj, Stream &stream,45                               const TypeSummaryOptions &options);46 47bool NSDateSummaryProvider(ValueObject &valobj, Stream &stream,48                           const TypeSummaryOptions &options);49 50bool NSBundleSummaryProvider(ValueObject &valobj, Stream &stream,51                             const TypeSummaryOptions &options);52 53bool NSURLSummaryProvider(ValueObject &valobj, Stream &stream,54                          const TypeSummaryOptions &options);55 56extern template bool NSDataSummaryProvider<true>(ValueObject &, Stream &,57                                                 const TypeSummaryOptions &);58 59extern template bool NSDataSummaryProvider<false>(ValueObject &, Stream &,60                                                  const TypeSummaryOptions &);61 62SyntheticChildrenFrontEnd *63NSArraySyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);64 65SyntheticChildrenFrontEnd *66NSIndexPathSyntheticFrontEndCreator(CXXSyntheticChildren *,67                                    lldb::ValueObjectSP);68 69bool ObjCClassSummaryProvider(ValueObject &valobj, Stream &stream,70                              const TypeSummaryOptions &options);71 72SyntheticChildrenFrontEnd *73ObjCClassSyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);74 75bool ObjCBOOLSummaryProvider(ValueObject &valobj, Stream &stream,76                             const TypeSummaryOptions &options);77 78bool ObjCBooleanSummaryProvider(ValueObject &valobj, Stream &stream,79                                const TypeSummaryOptions &options);80 81template <bool is_sel_ptr>82bool ObjCSELSummaryProvider(ValueObject &valobj, Stream &stream,83                            const TypeSummaryOptions &options);84 85extern template bool ObjCSELSummaryProvider<true>(ValueObject &, Stream &,86                                                  const TypeSummaryOptions &);87 88extern template bool ObjCSELSummaryProvider<false>(ValueObject &, Stream &,89                                                   const TypeSummaryOptions &);90 91bool NSError_SummaryProvider(ValueObject &valobj, Stream &stream,92                             const TypeSummaryOptions &options);93 94bool NSException_SummaryProvider(ValueObject &valobj, Stream &stream,95                                 const TypeSummaryOptions &options);96 97SyntheticChildrenFrontEnd *98NSErrorSyntheticFrontEndCreator(CXXSyntheticChildren *,99                                lldb::ValueObjectSP valobj_sp);100 101SyntheticChildrenFrontEnd *102NSExceptionSyntheticFrontEndCreator(CXXSyntheticChildren *,103                                    lldb::ValueObjectSP valobj_sp);104 105class NSArray_Additionals {106public:107  static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &108  GetAdditionalSummaries();109 110  static std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &111  GetAdditionalSynthetics();112};113} // namespace formatters114} // namespace lldb_private115 116#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H117