Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Language/ObjC/Cocoa.h
39642 views
//===-- Cocoa.h ---------------------------------------------------*- C++1//-*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//89#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H10#define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H1112#include "lldb/Core/ValueObject.h"13#include "lldb/DataFormatters/TypeSummary.h"14#include "lldb/DataFormatters/TypeSynthetic.h"15#include "lldb/Utility/Stream.h"1617#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"1819namespace lldb_private {20namespace formatters {21bool NSIndexSetSummaryProvider(ValueObject &valobj, Stream &stream,22const TypeSummaryOptions &options);2324bool NSArraySummaryProvider(ValueObject &valobj, Stream &stream,25const TypeSummaryOptions &options);2627template <bool needs_at>28bool NSDataSummaryProvider(ValueObject &valobj, Stream &stream,29const TypeSummaryOptions &options);3031bool NSNumberSummaryProvider(ValueObject &valobj, Stream &stream,32const TypeSummaryOptions &options);3334bool NSDecimalNumberSummaryProvider(ValueObject &valobj, Stream &stream,35const TypeSummaryOptions &options);3637bool NSNotificationSummaryProvider(ValueObject &valobj, Stream &stream,38const TypeSummaryOptions &options);3940bool NSTimeZoneSummaryProvider(ValueObject &valobj, Stream &stream,41const TypeSummaryOptions &options);4243bool NSMachPortSummaryProvider(ValueObject &valobj, Stream &stream,44const TypeSummaryOptions &options);4546bool NSDateSummaryProvider(ValueObject &valobj, Stream &stream,47const TypeSummaryOptions &options);4849bool NSBundleSummaryProvider(ValueObject &valobj, Stream &stream,50const TypeSummaryOptions &options);5152bool NSURLSummaryProvider(ValueObject &valobj, Stream &stream,53const TypeSummaryOptions &options);5455extern template bool NSDataSummaryProvider<true>(ValueObject &, Stream &,56const TypeSummaryOptions &);5758extern template bool NSDataSummaryProvider<false>(ValueObject &, Stream &,59const TypeSummaryOptions &);6061SyntheticChildrenFrontEnd *62NSArraySyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);6364SyntheticChildrenFrontEnd *65NSIndexPathSyntheticFrontEndCreator(CXXSyntheticChildren *,66lldb::ValueObjectSP);6768bool ObjCClassSummaryProvider(ValueObject &valobj, Stream &stream,69const TypeSummaryOptions &options);7071SyntheticChildrenFrontEnd *72ObjCClassSyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);7374bool ObjCBOOLSummaryProvider(ValueObject &valobj, Stream &stream,75const TypeSummaryOptions &options);7677bool ObjCBooleanSummaryProvider(ValueObject &valobj, Stream &stream,78const TypeSummaryOptions &options);7980template <bool is_sel_ptr>81bool ObjCSELSummaryProvider(ValueObject &valobj, Stream &stream,82const TypeSummaryOptions &options);8384extern template bool ObjCSELSummaryProvider<true>(ValueObject &, Stream &,85const TypeSummaryOptions &);8687extern template bool ObjCSELSummaryProvider<false>(ValueObject &, Stream &,88const TypeSummaryOptions &);8990bool NSError_SummaryProvider(ValueObject &valobj, Stream &stream,91const TypeSummaryOptions &options);9293bool NSException_SummaryProvider(ValueObject &valobj, Stream &stream,94const TypeSummaryOptions &options);9596SyntheticChildrenFrontEnd *97NSErrorSyntheticFrontEndCreator(CXXSyntheticChildren *,98lldb::ValueObjectSP valobj_sp);99100SyntheticChildrenFrontEnd *101NSExceptionSyntheticFrontEndCreator(CXXSyntheticChildren *,102lldb::ValueObjectSP valobj_sp);103104class NSArray_Additionals {105public:106static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &107GetAdditionalSummaries();108109static std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &110GetAdditionalSynthetics();111};112} // namespace formatters113} // namespace lldb_private114115#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_COCOA_H116117118