diff options
-rw-r--r-- | lldb/source/DataFormatters/FormatManager.cpp | 2 | ||||
-rw-r--r-- | lldb/source/DataFormatters/NSArray.cpp | 22 | ||||
-rw-r--r-- | lldb/source/DataFormatters/NSDictionary.cpp | 24 |
3 files changed, 6 insertions, 42 deletions
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp index df0ff5ee320..06f676f7d10 100644 --- a/lldb/source/DataFormatters/FormatManager.cpp +++ b/lldb/source/DataFormatters/FormatManager.cpp @@ -900,6 +900,8 @@ FormatManager::LoadObjCFormatters() AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "NSArray synthetic children", ConstString("NSArray"), ScriptedSyntheticChildren::Flags()); AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "NSArray synthetic children", ConstString("NSMutableArray"), ScriptedSyntheticChildren::Flags()); AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "NSArray synthetic children", ConstString("__NSCFArray"), ScriptedSyntheticChildren::Flags()); + AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "NSArray synthetic children", ConstString("CFMutableArrayRef"), ScriptedSyntheticChildren::Flags()); + AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSArraySyntheticFrontEndCreator, "NSArray synthetic children", ConstString("CFArrayRef"), ScriptedSyntheticChildren::Flags()); AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSDictionarySyntheticFrontEndCreator, "NSDictionary synthetic children", ConstString("__NSDictionaryM"), ScriptedSyntheticChildren::Flags()); AddCXXSynthetic(appkit_category_sp, lldb_private::formatters::NSDictionarySyntheticFrontEndCreator, "NSDictionary synthetic children", ConstString("__NSDictionaryI"), ScriptedSyntheticChildren::Flags()); diff --git a/lldb/source/DataFormatters/NSArray.cpp b/lldb/source/DataFormatters/NSArray.cpp index e62b77cdb00..cef087d1e9e 100644 --- a/lldb/source/DataFormatters/NSArray.cpp +++ b/lldb/source/DataFormatters/NSArray.cpp @@ -97,10 +97,7 @@ m_data_32(NULL), m_data_64(NULL) { if (valobj_sp) - { m_id_type = ClangASTType(valobj_sp->GetClangAST(),valobj_sp->GetClangAST()->ObjCBuiltinIdTy.getAsOpaquePtr()); - Update(); - } } size_t @@ -150,18 +147,12 @@ lldb_private::formatters::NSArrayMSyntheticFrontEnd::Update() return false; m_exe_ctx_ref = valobj_sp->GetExecutionContextRef(); Error error; - if (valobj_sp->IsPointerType()) - { - valobj_sp = valobj_sp->Dereference(error); - if (error.Fail() || !valobj_sp) - return false; - } error.Clear(); lldb::ProcessSP process_sp(valobj_sp->GetProcessSP()); if (!process_sp) return false; m_ptr_size = process_sp->GetAddressByteSize(); - uint64_t data_location = valobj_sp->GetAddressOf() + m_ptr_size; + uint64_t data_location = valobj_sp->GetValueAsUnsigned(0) + m_ptr_size; if (m_ptr_size == 4) { m_data_32 = new DataDescriptor_32(); @@ -211,10 +202,7 @@ m_items(0), m_data_ptr(0) { if (valobj_sp) - { m_id_type = ClangASTType(valobj_sp->GetClangAST(),valobj_sp->GetClangAST()->ObjCBuiltinIdTy.getAsOpaquePtr()); - Update(); - } } lldb_private::formatters::NSArrayISyntheticFrontEnd::~NSArrayISyntheticFrontEnd () @@ -249,18 +237,12 @@ lldb_private::formatters::NSArrayISyntheticFrontEnd::Update() return false; m_exe_ctx_ref = valobj_sp->GetExecutionContextRef(); Error error; - if (valobj_sp->IsPointerType()) - { - valobj_sp = valobj_sp->Dereference(error); - if (error.Fail() || !valobj_sp) - return false; - } error.Clear(); lldb::ProcessSP process_sp(valobj_sp->GetProcessSP()); if (!process_sp) return false; m_ptr_size = process_sp->GetAddressByteSize(); - uint64_t data_location = valobj_sp->GetAddressOf() + m_ptr_size; + uint64_t data_location = valobj_sp->GetValueAsUnsigned(0) + m_ptr_size; m_items = process_sp->ReadPointerFromMemory(data_location, error); if (error.Fail()) return false; diff --git a/lldb/source/DataFormatters/NSDictionary.cpp b/lldb/source/DataFormatters/NSDictionary.cpp index 54d6652c1fc..c9fef4288c0 100644 --- a/lldb/source/DataFormatters/NSDictionary.cpp +++ b/lldb/source/DataFormatters/NSDictionary.cpp @@ -255,8 +255,6 @@ m_data_32(NULL), m_data_64(NULL), m_pair_type() { - if (valobj_sp) - Update(); } lldb_private::formatters::NSDictionaryISyntheticFrontEnd::~NSDictionaryISyntheticFrontEnd () @@ -297,23 +295,15 @@ lldb_private::formatters::NSDictionaryISyntheticFrontEnd::Update() ValueObjectSP valobj_sp = m_backend.GetSP(); if (!valobj_sp) return false; - if (!valobj_sp) - return false; m_exe_ctx_ref = valobj_sp->GetExecutionContextRef(); Error error; - if (valobj_sp->IsPointerType()) - { - valobj_sp = valobj_sp->Dereference(error); - if (error.Fail() || !valobj_sp) - return false; - } error.Clear(); lldb::ProcessSP process_sp(valobj_sp->GetProcessSP()); if (!process_sp) return false; m_ptr_size = process_sp->GetAddressByteSize(); m_order = process_sp->GetByteOrder(); - uint64_t data_location = valobj_sp->GetAddressOf() + m_ptr_size; + uint64_t data_location = valobj_sp->GetValueAsUnsigned(0) + m_ptr_size; if (m_ptr_size == 4) { m_data_32 = new DataDescriptor_32(); @@ -427,8 +417,6 @@ m_data_32(NULL), m_data_64(NULL), m_pair_type() { - if (valobj_sp) - Update (); } lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::~NSDictionaryMSyntheticFrontEnd () @@ -469,23 +457,15 @@ lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::Update() m_data_64 = NULL; if (!valobj_sp) return false; - if (!valobj_sp) - return false; m_exe_ctx_ref = valobj_sp->GetExecutionContextRef(); Error error; - if (valobj_sp->IsPointerType()) - { - valobj_sp = valobj_sp->Dereference(error); - if (error.Fail() || !valobj_sp) - return false; - } error.Clear(); lldb::ProcessSP process_sp(valobj_sp->GetProcessSP()); if (!process_sp) return false; m_ptr_size = process_sp->GetAddressByteSize(); m_order = process_sp->GetByteOrder(); - uint64_t data_location = valobj_sp->GetAddressOf() + m_ptr_size; + uint64_t data_location = valobj_sp->GetValueAsUnsigned(0) + m_ptr_size; if (m_ptr_size == 4) { m_data_32 = new DataDescriptor_32(); |