1292932Sdim//===-- Cocoa.h ---------------------------------------------------*- C++ -*-===// 2292932Sdim// 3292932Sdim// The LLVM Compiler Infrastructure 4292932Sdim// 5292932Sdim// This file is distributed under the University of Illinois Open Source 6292932Sdim// License. See LICENSE.TXT for details. 7292932Sdim// 8292932Sdim//===----------------------------------------------------------------------===// 9292932Sdim 10292932Sdim#ifndef liblldb_Cocoa_h_ 11292932Sdim#define liblldb_Cocoa_h_ 12292932Sdim 13292932Sdim#include "lldb/Core/Stream.h" 14292932Sdim#include "lldb/Core/ValueObject.h" 15292932Sdim#include "lldb/DataFormatters/TypeSummary.h" 16292932Sdim#include "lldb/Target/ObjCLanguageRuntime.h" 17292932Sdim 18292932Sdimnamespace lldb_private { 19292932Sdim namespace formatters 20292932Sdim { 21292932Sdim bool 22292932Sdim NSIndexSetSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 23292932Sdim 24292932Sdim bool 25292932Sdim NSArraySummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 26292932Sdim 27292932Sdim template<bool needs_at> 28292932Sdim bool 29292932Sdim NSDataSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 30292932Sdim 31292932Sdim bool 32292932Sdim NSNumberSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 33292932Sdim 34292932Sdim bool 35292932Sdim NSNotificationSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 36292932Sdim 37292932Sdim bool 38292932Sdim NSTimeZoneSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 39292932Sdim 40292932Sdim bool 41292932Sdim NSMachPortSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 42292932Sdim 43292932Sdim bool 44292932Sdim NSDateSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 45292932Sdim 46292932Sdim bool 47292932Sdim NSBundleSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 48292932Sdim 49292932Sdim bool 50292932Sdim NSURLSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 51292932Sdim 52292932Sdim extern template bool 53292932Sdim NSDataSummaryProvider<true> (ValueObject&, Stream&, const TypeSummaryOptions&) ; 54292932Sdim 55292932Sdim extern template bool 56292932Sdim NSDataSummaryProvider<false> (ValueObject&, Stream&, const TypeSummaryOptions&) ; 57292932Sdim 58292932Sdim SyntheticChildrenFrontEnd* NSArraySyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); 59292932Sdim 60292932Sdim SyntheticChildrenFrontEnd* NSIndexPathSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); 61292932Sdim 62292932Sdim bool 63292932Sdim ObjCClassSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 64292932Sdim 65292932Sdim SyntheticChildrenFrontEnd* ObjCClassSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP); 66292932Sdim 67292932Sdim bool 68292932Sdim ObjCBOOLSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 69292932Sdim 70292932Sdim template <bool is_sel_ptr> 71292932Sdim bool 72292932Sdim ObjCSELSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 73292932Sdim 74292932Sdim extern template bool 75292932Sdim ObjCSELSummaryProvider<true> (ValueObject&, Stream&, const TypeSummaryOptions&); 76292932Sdim 77292932Sdim extern template bool 78292932Sdim ObjCSELSummaryProvider<false> (ValueObject&, Stream&, const TypeSummaryOptions&); 79292932Sdim 80292932Sdim bool 81292932Sdim RuntimeSpecificDescriptionSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 82292932Sdim 83292932Sdim bool 84292932Sdim NSError_SummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 85292932Sdim 86292932Sdim bool 87292932Sdim NSException_SummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options); 88292932Sdim 89292932Sdim SyntheticChildrenFrontEnd* 90292932Sdim NSErrorSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp); 91292932Sdim 92292932Sdim SyntheticChildrenFrontEnd* 93292932Sdim NSExceptionSyntheticFrontEndCreator (CXXSyntheticChildren*, lldb::ValueObjectSP valobj_sp); 94292932Sdim } // namespace formatters 95292932Sdim} // namespace lldb_private 96292932Sdim 97292932Sdim#endif // liblldb_Cocoa_h_ 98