<rdar://problem/12378910> Fix a bunch of other places where similar problems could happen

llvm-svn: 164871
This commit is contained in:
Enrico Granata 2012-09-29 00:47:43 +00:00
parent 60b81dff85
commit 6d39077fe7
1 changed files with 23 additions and 0 deletions

View File

@ -164,6 +164,10 @@ lldb_private::formatters::NSDictionarySummaryProvider (ValueObject& valobj, Stre
uint64_t value = 0; uint64_t value = 0;
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return false;
if (!strcmp(class_name,"__NSDictionaryI")) if (!strcmp(class_name,"__NSDictionaryI"))
{ {
Error error; Error error;
@ -230,6 +234,10 @@ lldb_private::formatters::NSArraySummaryProvider (ValueObject& valobj, Stream& s
uint64_t value = 0; uint64_t value = 0;
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return false;
if (!strcmp(class_name,"__NSArrayI")) if (!strcmp(class_name,"__NSArrayI"))
{ {
Error error; Error error;
@ -290,6 +298,10 @@ lldb_private::formatters::NSDataSummaryProvider (ValueObject& valobj, Stream& st
uint64_t value = 0; uint64_t value = 0;
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return false;
if (!strcmp(class_name,"NSConcreteData") || if (!strcmp(class_name,"NSConcreteData") ||
!strcmp(class_name,"NSConcreteMutableData") || !strcmp(class_name,"NSConcreteMutableData") ||
!strcmp(class_name,"__NSCFData")) !strcmp(class_name,"__NSCFData"))
@ -341,6 +353,9 @@ lldb_private::formatters::NSNumberSummaryProvider (ValueObject& valobj, Stream&
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return false;
if (!strcmp(class_name,"NSNumber") || !strcmp(class_name,"__NSCFNumber")) if (!strcmp(class_name,"NSNumber") || !strcmp(class_name,"__NSCFNumber"))
{ {
if (descriptor->IsTagged()) if (descriptor->IsTagged())
@ -979,6 +994,10 @@ SyntheticChildrenFrontEnd* lldb_private::formatters::NSArraySyntheticFrontEndCre
return NULL; return NULL;
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return NULL;
if (!strcmp(class_name,"__NSArrayI")) if (!strcmp(class_name,"__NSArrayI"))
{ {
return (new NSArrayISyntheticFrontEnd(valobj_sp)); return (new NSArrayISyntheticFrontEnd(valobj_sp));
@ -1056,6 +1075,10 @@ SyntheticChildrenFrontEnd* lldb_private::formatters::NSDictionarySyntheticFrontE
return NULL; return NULL;
const char* class_name = descriptor->GetClassName().GetCString(); const char* class_name = descriptor->GetClassName().GetCString();
if (!class_name || !*class_name)
return NULL;
if (!strcmp(class_name,"__NSDictionaryI")) if (!strcmp(class_name,"__NSDictionaryI"))
{ {
return (new NSDictionaryISyntheticFrontEnd(valobj_sp)); return (new NSDictionaryISyntheticFrontEnd(valobj_sp));