Chromium Code Reviews| Index: runtime/vm/object.cc |
| =================================================================== |
| --- runtime/vm/object.cc (revision 1950) |
| +++ runtime/vm/object.cc (working copy) |
| @@ -2209,15 +2209,27 @@ |
| const char* ParameterizedType::ToCString() const { |
| if (IsResolved()) { |
| - const char* format = "ParameterizedType: class '%s', args:[%s]"; |
| - const char* class_name = |
| - String::Handle(Class::Handle(type_class()).Name()).ToCString(); |
| - const char* args_cstr = TypeArguments::Handle(arguments()).ToCString(); |
| - intptr_t len = OS::SNPrint(NULL, 0, format, class_name, args_cstr) + 1; |
| - char* chars = reinterpret_cast<char*>( |
| - Isolate::Current()->current_zone()->Allocate(len)); |
| - OS::SNPrint(chars, len, format, class_name, args_cstr); |
| - return chars; |
| + const TypeArguments& type_arguments = TypeArguments::Handle(arguments()); |
| + if (type_arguments.IsNull()) { |
| + const char* format = "ParameterizedType: class '%s'"; |
| + const char* class_name = |
| + String::Handle(Class::Handle(type_class()).Name()).ToCString(); |
| + intptr_t len = OS::SNPrint(NULL, 0, format, class_name) + 1; |
| + char* chars = reinterpret_cast<char*>( |
| + Isolate::Current()->current_zone()->Allocate(len)); |
| + OS::SNPrint(chars, len, format, class_name); |
| + return chars; |
| + } else { |
| + const char* format = "ParameterizedType: class '%s', args:[%s]"; |
| + const char* class_name = |
| + String::Handle(Class::Handle(type_class()).Name()).ToCString(); |
| + const char* args_cstr = TypeArguments::Handle(arguments()).ToCString(); |
| + intptr_t len = OS::SNPrint(NULL, 0, format, class_name, args_cstr) + 1; |
| + char* chars = reinterpret_cast<char*>( |
| + Isolate::Current()->current_zone()->Allocate(len)); |
| + OS::SNPrint(chars, len, format, class_name, args_cstr); |
| + return chars; |
| + } |
| } else { |
| return "Unresolved ParameterizedType"; |
| } |
| @@ -2464,9 +2476,6 @@ |
| const char* TypeArguments::ToCString() const { |
| // TypeArguments is an abstract class, however it may wrap a null. |
|
regis
2011/11/30 22:53:29
You can remove ", however it may wrap a null".
srdjan
2011/11/30 22:55:55
Done.
|
| - if (IsNull()) { |
| - return "NULL TypeArguments"; |
| - } |
| UNREACHABLE(); |
| return "TypeArguments"; |
| } |