diff options
Diffstat (limited to 'lldb/source/Plugins/Language/ObjC/NSException.cpp')
-rw-r--r-- | lldb/source/Plugins/Language/ObjC/NSException.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lldb/source/Plugins/Language/ObjC/NSException.cpp b/lldb/source/Plugins/Language/ObjC/NSException.cpp index 931794a12ab1..9150787361c5 100644 --- a/lldb/source/Plugins/Language/ObjC/NSException.cpp +++ b/lldb/source/Plugins/Language/ObjC/NSException.cpp @@ -69,10 +69,12 @@ static bool ExtractFields(ValueObject &valobj, ValueObjectSP *name_sp, InferiorSizedWord userinfo_isw(userinfo, *process_sp); InferiorSizedWord reserved_isw(reserved, *process_sp); - CompilerType voidstar = process_sp->GetTarget() - .GetScratchClangASTContext() - ->GetBasicType(lldb::eBasicTypeVoid) - .GetPointerType(); + auto *clang_ast_context = ClangASTContext::GetScratch(process_sp->GetTarget()); + if (!clang_ast_context) + return false; + + CompilerType voidstar = + clang_ast_context->GetBasicType(lldb::eBasicTypeVoid).GetPointerType(); if (name_sp) *name_sp = ValueObject::CreateValueObjectFromData( @@ -96,21 +98,19 @@ static bool ExtractFields(ValueObject &valobj, ValueObjectSP *name_sp, bool lldb_private::formatters::NSException_SummaryProvider( ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options) { - lldb::ValueObjectSP name_sp; lldb::ValueObjectSP reason_sp; - if (!ExtractFields(valobj, &name_sp, &reason_sp, nullptr, nullptr)) + if (!ExtractFields(valobj, nullptr, &reason_sp, nullptr, nullptr)) return false; - if (!name_sp || !reason_sp) + if (!reason_sp) { + stream.Printf("No reason"); return false; + } - StreamString name_str_summary; StreamString reason_str_summary; - if (NSStringSummaryProvider(*name_sp, name_str_summary, options) && - NSStringSummaryProvider(*reason_sp, reason_str_summary, options) && - !name_str_summary.Empty() && !reason_str_summary.Empty()) { - stream.Printf("name: %s - reason: %s", name_str_summary.GetData(), - reason_str_summary.GetData()); + if (NSStringSummaryProvider(*reason_sp, reason_str_summary, options) && + !reason_str_summary.Empty()) { + stream.Printf("%s", reason_str_summary.GetData()); return true; } else return false; |