#include "clang/AST/ASTContext.h"
#include "clang/Basic/TargetInfo.h"
#include "Cocoa.h"
#include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Core/ValueObjectConstResult.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Expression/FunctionCaller.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacelldb_private::formatters;
namespace lldb_private {
namespace formatters {
std::map<ConstString, CXXFunctionSummaryFormat::Callback> &
NSArray_Additionals::GetAdditionalSummaries() { … }
std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &
NSArray_Additionals::GetAdditionalSynthetics() { … }
class NSArrayMSyntheticFrontEndBase : public SyntheticChildrenFrontEnd { … };
template <typename D32, typename D64>
class GenericNSArrayMSyntheticFrontEnd : public NSArrayMSyntheticFrontEndBase { … };
namespace Foundation1010 {
namespace {
struct DataDescriptor_32 { … };
struct DataDescriptor_64 { … };
}
NSArrayMSyntheticFrontEnd;
}
namespace Foundation1428 {
namespace {
struct DataDescriptor_32 { … };
struct DataDescriptor_64 { … };
}
NSArrayMSyntheticFrontEnd;
}
namespace Foundation1437 {
template <typename PtrType>
struct DataDescriptor { … };
NSArrayMSyntheticFrontEnd;
template <typename DD>
uint64_t
__NSArrayMSize_Impl(lldb_private::Process &process,
lldb::addr_t valobj_addr, Status &error) { … }
uint64_t
__NSArrayMSize(lldb_private::Process &process, lldb::addr_t valobj_addr,
Status &error) { … }
}
namespace CallStackArray {
struct DataDescriptor_32 { … };
struct DataDescriptor_64 { … };
NSCallStackArraySyntheticFrontEnd;
}
template <typename D32, typename D64, bool Inline>
class GenericNSArrayISyntheticFrontEnd : public SyntheticChildrenFrontEnd { … };
namespace Foundation1300 {
struct IDD32 { … };
struct IDD64 { … };
NSArrayISyntheticFrontEnd;
}
namespace Foundation1430 {
NSArrayISyntheticFrontEnd;
}
namespace Foundation1436 {
struct IDD32 { … };
struct IDD64 { … };
NSArrayI_TransferSyntheticFrontEnd;
NSArrayISyntheticFrontEnd;
NSFrozenArrayMSyntheticFrontEnd;
uint64_t
__NSFrozenArrayMSize(lldb_private::Process &process, lldb::addr_t valobj_addr,
Status &error) { … }
}
namespace ConstantArray {
struct ConstantArray32 { … };
struct ConstantArray64 { … };
NSConstantArraySyntheticFrontEnd;
}
class NSArray0SyntheticFrontEnd : public SyntheticChildrenFrontEnd { … };
class NSArray1SyntheticFrontEnd : public SyntheticChildrenFrontEnd { … };
}
}
bool lldb_private::formatters::NSArraySummaryProvider(
ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options) { … }
lldb_private::formatters::NSArrayMSyntheticFrontEndBase::
NSArrayMSyntheticFrontEndBase(lldb::ValueObjectSP valobj_sp)
: … { … }
template <typename D32, typename D64>
lldb_private::formatters::
GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd(lldb::ValueObjectSP valobj_sp)
: … { … }
llvm::Expected<uint32_t> lldb_private::formatters::
NSArrayMSyntheticFrontEndBase::CalculateNumChildren() { … }
lldb::ValueObjectSP
lldb_private::formatters::NSArrayMSyntheticFrontEndBase::GetChildAtIndex(
uint32_t idx) { … }
template <typename D32, typename D64>
lldb::ChildCacheState
lldb_private::formatters::GenericNSArrayMSyntheticFrontEnd<D32, D64>::Update() { … }
bool
lldb_private::formatters::NSArrayMSyntheticFrontEndBase::MightHaveChildren() { … }
size_t
lldb_private::formatters::NSArrayMSyntheticFrontEndBase::GetIndexOfChildWithName(
ConstString name) { … }
template <typename D32, typename D64>
lldb_private::formatters::GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd::~GenericNSArrayMSyntheticFrontEnd() { … }
template <typename D32, typename D64>
lldb::addr_t
lldb_private::formatters::
GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd::GetDataAddress() { … }
template <typename D32, typename D64>
uint64_t
lldb_private::formatters::
GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd::GetUsedCount() { … }
template <typename D32, typename D64>
uint64_t
lldb_private::formatters::
GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd::GetOffset() { … }
template <typename D32, typename D64>
uint64_t
lldb_private::formatters::
GenericNSArrayMSyntheticFrontEnd<D32, D64>::
GenericNSArrayMSyntheticFrontEnd::GetSize() { … }
template <typename D32, typename D64, bool Inline>
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64, Inline>::
GenericNSArrayISyntheticFrontEnd(lldb::ValueObjectSP valobj_sp)
: … { … }
template <typename D32, typename D64, bool Inline>
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64, Inline>::
GenericNSArrayISyntheticFrontEnd::~GenericNSArrayISyntheticFrontEnd() { … }
template <typename D32, typename D64, bool Inline>
size_t
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64, Inline>::
GetIndexOfChildWithName(ConstString name) { … }
template <typename D32, typename D64, bool Inline>
llvm::Expected<uint32_t>
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<
D32, D64, Inline>::CalculateNumChildren() { … }
template <typename D32, typename D64, bool Inline>
lldb::ChildCacheState
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64,
Inline>::Update() { … }
template <typename D32, typename D64, bool Inline>
bool
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64, Inline>::
MightHaveChildren() { … }
template <typename D32, typename D64, bool Inline>
lldb::ValueObjectSP
lldb_private::formatters::GenericNSArrayISyntheticFrontEnd<D32, D64, Inline>::
GetChildAtIndex(uint32_t idx) { … }
lldb_private::formatters::NSArray0SyntheticFrontEnd::NSArray0SyntheticFrontEnd(
lldb::ValueObjectSP valobj_sp)
: … { … }
size_t
lldb_private::formatters::NSArray0SyntheticFrontEnd::GetIndexOfChildWithName(
ConstString name) { … }
llvm::Expected<uint32_t>
lldb_private::formatters::NSArray0SyntheticFrontEnd::CalculateNumChildren() { … }
lldb::ChildCacheState
lldb_private::formatters::NSArray0SyntheticFrontEnd::Update() { … }
bool lldb_private::formatters::NSArray0SyntheticFrontEnd::MightHaveChildren() { … }
lldb::ValueObjectSP
lldb_private::formatters::NSArray0SyntheticFrontEnd::GetChildAtIndex(
uint32_t idx) { … }
lldb_private::formatters::NSArray1SyntheticFrontEnd::NSArray1SyntheticFrontEnd(
lldb::ValueObjectSP valobj_sp)
: … { … }
size_t
lldb_private::formatters::NSArray1SyntheticFrontEnd::GetIndexOfChildWithName(
ConstString name) { … }
llvm::Expected<uint32_t>
lldb_private::formatters::NSArray1SyntheticFrontEnd::CalculateNumChildren() { … }
lldb::ChildCacheState
lldb_private::formatters::NSArray1SyntheticFrontEnd::Update() { … }
bool lldb_private::formatters::NSArray1SyntheticFrontEnd::MightHaveChildren() { … }
lldb::ValueObjectSP
lldb_private::formatters::NSArray1SyntheticFrontEnd::GetChildAtIndex(
uint32_t idx) { … }
SyntheticChildrenFrontEnd *
lldb_private::formatters::NSArraySyntheticFrontEndCreator(
CXXSyntheticChildren *synth, lldb::ValueObjectSP valobj_sp) { … }