Skip to content

Commit 0fe7121

Browse files
committed
[lldb] Fix logging not using format version in dynamic type resolution
rdar://106167077
1 parent 76cdada commit 0fe7121

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

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

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -277,19 +277,19 @@ class TargetReflectionContext
277277
if (log && log->GetVerbose()) {
278278
std::stringstream ss;
279279
type_ref->dump(ss);
280-
LLDB_LOG(log, "[TargetReflectionContext::getTypeInfo] Getting "
280+
LLDB_LOGF(log, "[TargetReflectionContext::getTypeInfo] Getting "
281281
"type info for typeref:\n%s",
282-
ss.str());
282+
ss.str().c_str());
283283
}
284284

285285
auto type_info = m_reflection_ctx.getTypeInfo(type_ref, provider);
286286
if (log && !type_info) {
287287
std::stringstream ss;
288288
type_ref->dump(ss);
289-
LLDB_LOG(log,
289+
LLDB_LOGF(log,
290290
"[TargetReflectionContext::getTypeInfo] Could not get "
291291
"type info for typeref:\n%s",
292-
ss.str());
292+
ss.str().c_str());
293293
}
294294

295295
if (log && log->GetVerbose()) {
@@ -1020,6 +1020,7 @@ llvm::Optional<unsigned>
10201020
SwiftLanguageRuntimeImpl::GetNumChildren(CompilerType type,
10211021
ExecutionContextScope *exe_scope) {
10221022
LLDB_SCOPED_TIMER();
1023+
10231024
auto ts = type.GetTypeSystem().dyn_cast_or_null<TypeSystemSwiftTypeRef>();
10241025
if (!ts)
10251026
return {};
@@ -1033,14 +1034,14 @@ SwiftLanguageRuntimeImpl::GetNumChildren(CompilerType type,
10331034
const swift::reflection::TypeRef *tr = nullptr;
10341035
auto *ti = GetSwiftRuntimeTypeInfo(type, exe_scope, &tr);
10351036
if (!ti) {
1036-
LLDB_LOG(GetLog(LLDBLog::Types), "GetSwiftRuntimeTypeInfo() failed for {0}",
1037-
type.GetMangledTypeName());
1037+
LLDB_LOGF(GetLog(LLDBLog::Types), "GetSwiftRuntimeTypeInfo() failed for %s",
1038+
type.GetMangledTypeName().GetCString());
10381039
return {};
10391040
}
10401041
// Structs and Tuples.
10411042
if (auto *rti = llvm::dyn_cast<swift::reflection::RecordTypeInfo>(ti)) {
1042-
LLDB_LOG(GetLog(LLDBLog::Types), "{0}: RecordTypeInfo(num_fields={1})",
1043-
type.GetMangledTypeName(), rti->getNumFields());
1043+
LLDB_LOGF(GetLog(LLDBLog::Types), "%s: RecordTypeInfo(num_fields=%i)",
1044+
type.GetMangledTypeName().GetCString(), rti->getNumFields());
10441045
switch (rti->getRecordKind()) {
10451046
case swift::reflection::RecordKind::ExistentialMetatype:
10461047
case swift::reflection::RecordKind::ThickFunction:
@@ -1058,14 +1059,15 @@ SwiftLanguageRuntimeImpl::GetNumChildren(CompilerType type,
10581059
}
10591060
}
10601061
if (auto *eti = llvm::dyn_cast<swift::reflection::EnumTypeInfo>(ti)) {
1061-
LLDB_LOG(GetLog(LLDBLog::Types), "{0}: EnumTypeInfo(num_payload_cases={1})",
1062-
type.GetMangledTypeName(), eti->getNumPayloadCases());
1062+
LLDB_LOGF(GetLog(LLDBLog::Types), "%s: EnumTypeInfo(num_payload_cases=%i)",
1063+
type.GetMangledTypeName().GetCString(),
1064+
eti->getNumPayloadCases());
10631065
return eti->getNumPayloadCases();
10641066
}
10651067
// Objects.
10661068
if (auto *rti = llvm::dyn_cast<swift::reflection::ReferenceTypeInfo>(ti)) {
1067-
LLDB_LOG(GetLog(LLDBLog::Types), "{0}: ReferenceTypeInfo()",
1068-
type.GetMangledTypeName());
1069+
LLDB_LOGF(GetLog(LLDBLog::Types), "%s: ReferenceTypeInfo()",
1070+
type.GetMangledTypeName().GetCString());
10691071
switch (rti->getReferenceKind()) {
10701072
case swift::reflection::ReferenceKind::Weak:
10711073
case swift::reflection::ReferenceKind::Unowned:
@@ -1090,8 +1092,8 @@ SwiftLanguageRuntimeImpl::GetNumChildren(CompilerType type,
10901092
if (auto *rti =
10911093
llvm::dyn_cast_or_null<swift::reflection::RecordTypeInfo>(cti)) {
10921094
LLDB_LOG(GetLog(LLDBLog::Types),
1093-
"{0}: class RecordTypeInfo(num_fields={1})",
1094-
type.GetMangledTypeName(), rti->getNumFields());
1095+
"%s: class RecordTypeInfo(num_fields=%i)",
1096+
type.GetMangledTypeName().GetCString(), rti->getNumFields());
10951097

10961098
// The superclass, if any, is an extra child.
10971099
if (builder.lookupSuperclass(tr))
@@ -1102,8 +1104,8 @@ SwiftLanguageRuntimeImpl::GetNumChildren(CompilerType type,
11021104
return {};
11031105
}
11041106
// FIXME: Implement more cases.
1105-
LLDB_LOG(GetLog(LLDBLog::Types), "{0}: unimplemented type info",
1106-
type.GetMangledTypeName());
1107+
LLDB_LOG(GetLog(LLDBLog::Types), "%s: unimplemented type info",
1108+
type.GetMangledTypeName().GetCString());
11071109
return {};
11081110
}
11091111

@@ -1853,7 +1855,7 @@ bool SwiftLanguageRuntimeImpl::GetDynamicTypeAndAddress_Pack(
18531855
auto typeref_or_err =
18541856
decodeMangledType(reflection_ctx->getBuilder(), pack_element);
18551857
if (typeref_or_err.isError()) {
1856-
LLDB_LOG(log, "Couldn't get TypeRef for %s",
1858+
LLDB_LOGF(log, "Couldn't get TypeRef for %s",
18571859
pack_type.GetMangledTypeName().GetCString());
18581860
return false;
18591861
}
@@ -2468,8 +2470,9 @@ SwiftLanguageRuntimeImpl::BindGenericTypeParameters(StackFrame &stack_frame,
24682470
return ts.GetTypeFromMangledTypename(mangled_name);
24692471
}
24702472
CompilerType bound_type = scratch_ctx->RemangleAsType(dem, node);
2471-
LLDB_LOG(GetLog(LLDBLog::Expressions | LLDBLog::Types), "Bound {0} -> {1}.",
2472-
mangled_name, bound_type.GetMangledTypeName());
2473+
LLDB_LOGF(GetLog(LLDBLog::Expressions | LLDBLog::Types), "Bound %s -> %s.",
2474+
mangled_name.GetCString(),
2475+
bound_type.GetMangledTypeName().GetCString());
24732476
return bound_type;
24742477
}
24752478

@@ -3204,9 +3207,9 @@ SwiftLanguageRuntimeImpl::GetTypeRef(CompilerType type,
32043207
TypeSystemSwiftTypeRef *module_holder) {
32053208
Log *log(GetLog(LLDBLog::Types));
32063209
if (log && log->GetVerbose())
3207-
LLDB_LOG(log, "[SwiftLanguageRuntimeImpl::GetTypeRef] Getting typeref for "
3210+
LLDB_LOGF(log, "[SwiftLanguageRuntimeImpl::GetTypeRef] Getting typeref for "
32083211
"type: %s\n",
3209-
type.GetMangledTypeName());
3212+
type.GetMangledTypeName().GetCString());
32103213

32113214
// Demangle the mangled name.
32123215
swift::Demangle::Demangler dem;
@@ -3227,20 +3230,20 @@ SwiftLanguageRuntimeImpl::GetTypeRef(CompilerType type,
32273230
auto type_ref_or_err =
32283231
swift::Demangle::decodeMangledType(reflection_ctx->getBuilder(), node);
32293232
if (type_ref_or_err.isError()) {
3230-
LLDB_LOG(log,
3233+
LLDB_LOGF(log,
32313234
"[SwiftLanguageRuntimeImpl::GetTypeRef] Could not find typeref "
32323235
"for type: %s. Decode mangled type failed. Error: %s\n.",
3233-
type.GetMangledTypeName(),
3236+
type.GetMangledTypeName().GetCString(),
32343237
type_ref_or_err.getError()->copyErrorString());
32353238
return nullptr;
32363239
}
32373240
const swift::reflection::TypeRef *type_ref = type_ref_or_err.getType();
32383241
if (log && log->GetVerbose()) {
32393242
std::stringstream ss;
32403243
type_ref->dump(ss);
3241-
LLDB_LOG(log, "[SwiftLanguageRuntimeImpl::GetTypeRef] Found typeref for "
3244+
LLDB_LOGF(log, "[SwiftLanguageRuntimeImpl::GetTypeRef] Found typeref for "
32423245
"type: %s:\n%s",
3243-
type.GetMangledTypeName(), ss.str());
3246+
type.GetMangledTypeName().GetCString(), ss.str().c_str());
32443247
}
32453248
return type_ref;
32463249
}
@@ -3252,9 +3255,9 @@ SwiftLanguageRuntimeImpl::GetSwiftRuntimeTypeInfo(
32523255
Log *log(GetLog(LLDBLog::Types));
32533256

32543257
if (log && log->GetVerbose())
3255-
LLDB_LOG(log, "[SwiftLanguageRuntimeImpl::GetSwiftRuntimeTypeInfo] Getting "
3258+
LLDB_LOGF(log, "[SwiftLanguageRuntimeImpl::GetSwiftRuntimeTypeInfo] Getting "
32563259
"type info for type: %s\n",
3257-
type.GetMangledTypeName());
3260+
type.GetMangledTypeName().GetCString());
32583261

32593262
auto ts = type.GetTypeSystem().dyn_cast_or_null<TypeSystemSwift>();
32603263
if (!ts)

0 commit comments

Comments
 (0)