diff options
Diffstat (limited to 'lldb/source/DataFormatters/NSArray.cpp')
-rw-r--r-- | lldb/source/DataFormatters/NSArray.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lldb/source/DataFormatters/NSArray.cpp b/lldb/source/DataFormatters/NSArray.cpp index 0bf340b1338..7630f6bcbcc 100644 --- a/lldb/source/DataFormatters/NSArray.cpp +++ b/lldb/source/DataFormatters/NSArray.cpp @@ -529,11 +529,15 @@ lldb_private::formatters::NSArrayISyntheticFrontEnd::NSArrayISyntheticFrontEnd ( m_items (0), m_data_ptr (0) { - if (valobj_sp && valobj_sp->GetCompilerType().IsValid()) + if (valobj_sp) { - ClangASTContext *ast = valobj_sp->GetCompilerType().GetTypeSystem()->AsClangASTContext(); - if (ast) - m_id_type = CompilerType(ast->getASTContext(), ast->getASTContext()->ObjCBuiltinIdTy); + CompilerType type = valobj_sp->GetCompilerType(); + if (type) + { + ClangASTContext *ast = valobj_sp->GetExecutionContextRef().GetTargetSP()->GetScratchClangASTContext(); + if (ast) + m_id_type = CompilerType(ast->getASTContext(), ast->getASTContext()->ObjCBuiltinIdTy); + } } } |