Skip to content

Commit b56f6e3

Browse files
committed
[lldb] Fix logging null typerefs on SwiftLanguageRuntimeImpl::GetTypeRef
rdar://107774688
1 parent 892a7b4 commit b56f6e3

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

lldb/source/Plugins/LanguageRuntime/Swift/SwiftLanguageRuntimeDynamicTypeResolution.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ class TargetReflectionContext
293293
ss.str().c_str());
294294
}
295295

296-
if (log && log->GetVerbose()) {
296+
if (type_info && log && log->GetVerbose()) {
297297
std::stringstream ss;
298298
type_info->dump(ss);
299299
log->Printf("[TargetReflectionContext::getTypeInfo] Found "
@@ -3239,12 +3239,21 @@ SwiftLanguageRuntimeImpl::GetTypeRef(CompilerType type,
32393239
return nullptr;
32403240
}
32413241
const swift::reflection::TypeRef *type_ref = type_ref_or_err.getType();
3242-
if (log && log->GetVerbose()) {
3243-
std::stringstream ss;
3244-
type_ref->dump(ss);
3245-
LLDB_LOGF(log, "[SwiftLanguageRuntimeImpl::GetTypeRef] Found typeref for "
3242+
if (type_ref) {
3243+
if (log && log->GetVerbose()) {
3244+
std::stringstream ss;
3245+
type_ref->dump(ss);
3246+
LLDB_LOGF(log,
3247+
"[SwiftLanguageRuntimeImpl::GetTypeRef] Found typeref for "
32463248
"type: %s:\n%s",
32473249
type.GetMangledTypeName().GetCString(), ss.str().c_str());
3250+
}
3251+
} else {
3252+
LLDB_LOGF(
3253+
log,
3254+
"[SwiftLanguageRuntimeImpl::GetTypeRef] could not find typeref for "
3255+
"type: %s:\n",
3256+
type.GetMangledTypeName().GetCString());
32483257
}
32493258
return type_ref;
32503259
}

0 commit comments

Comments
 (0)