forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			114 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- Cocoa.h ---------------------------------------------------*- C++
 | |
| //-*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef liblldb_Cocoa_h_
 | |
| #define liblldb_Cocoa_h_
 | |
| 
 | |
| #include "lldb/Core/ValueObject.h"
 | |
| #include "lldb/DataFormatters/TypeSummary.h"
 | |
| #include "lldb/DataFormatters/TypeSynthetic.h"
 | |
| #include "lldb/Target/ObjCLanguageRuntime.h"
 | |
| #include "lldb/Utility/Stream.h"
 | |
| 
 | |
| namespace lldb_private {
 | |
| namespace formatters {
 | |
| bool NSIndexSetSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSArraySummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                             const TypeSummaryOptions &options);
 | |
| 
 | |
| template <bool needs_at>
 | |
| bool NSDataSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                            const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSNumberSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                              const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSNotificationSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                    const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSTimeZoneSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSMachPortSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSDateSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                            const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSBundleSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                              const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSURLSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                           const TypeSummaryOptions &options);
 | |
| 
 | |
| extern template bool NSDataSummaryProvider<true>(ValueObject &, Stream &,
 | |
|                                                  const TypeSummaryOptions &);
 | |
| 
 | |
| extern template bool NSDataSummaryProvider<false>(ValueObject &, Stream &,
 | |
|                                                   const TypeSummaryOptions &);
 | |
| 
 | |
| SyntheticChildrenFrontEnd *
 | |
| NSArraySyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);
 | |
| 
 | |
| SyntheticChildrenFrontEnd *
 | |
| NSIndexPathSyntheticFrontEndCreator(CXXSyntheticChildren *,
 | |
|                                     lldb::ValueObjectSP);
 | |
| 
 | |
| bool ObjCClassSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                               const TypeSummaryOptions &options);
 | |
| 
 | |
| SyntheticChildrenFrontEnd *
 | |
| ObjCClassSyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP);
 | |
| 
 | |
| bool ObjCBOOLSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                              const TypeSummaryOptions &options);
 | |
| 
 | |
| bool ObjCBooleanSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                 const TypeSummaryOptions &options);
 | |
| 
 | |
| template <bool is_sel_ptr>
 | |
| bool ObjCSELSummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                             const TypeSummaryOptions &options);
 | |
| 
 | |
| extern template bool ObjCSELSummaryProvider<true>(ValueObject &, Stream &,
 | |
|                                                   const TypeSummaryOptions &);
 | |
| 
 | |
| extern template bool ObjCSELSummaryProvider<false>(ValueObject &, Stream &,
 | |
|                                                    const TypeSummaryOptions &);
 | |
| 
 | |
| bool NSError_SummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                              const TypeSummaryOptions &options);
 | |
| 
 | |
| bool NSException_SummaryProvider(ValueObject &valobj, Stream &stream,
 | |
|                                  const TypeSummaryOptions &options);
 | |
| 
 | |
| SyntheticChildrenFrontEnd *
 | |
| NSErrorSyntheticFrontEndCreator(CXXSyntheticChildren *,
 | |
|                                 lldb::ValueObjectSP valobj_sp);
 | |
| 
 | |
| SyntheticChildrenFrontEnd *
 | |
| NSExceptionSyntheticFrontEndCreator(CXXSyntheticChildren *,
 | |
|                                     lldb::ValueObjectSP valobj_sp);
 | |
| 
 | |
| class NSArray_Additionals {
 | |
| public:
 | |
|   static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &
 | |
|   GetAdditionalSummaries();
 | |
| 
 | |
|   static std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &
 | |
|   GetAdditionalSynthetics();
 | |
| };
 | |
| } // namespace formatters
 | |
| } // namespace lldb_private
 | |
| 
 | |
| #endif // liblldb_Cocoa_h_
 |