================
@@ -773,11 +773,26 @@ class InlayHintVisitor : public
RecursiveASTVisitor<InlayHintVisitor> {
bool HasNonDefaultArgs = false;
ArrayRef<const ParmVarDecl *> Params, ForwardedParams;
+
// Resolve parameter packs to their forwarded parameter
SmallVector<const ParmVarDecl *> ForwardedParamsStorage;
+ // If args are direct-initialized
+ const CXXRecordDecl *CxxRecord{};
+
if (Callee.Decl) {
Params = maybeDropCxxExplicitObjectParameters(Callee.Decl->parameters());
- ForwardedParamsStorage = resolveForwardingParameters(Callee.Decl);
+
+ [&]() {
+ auto Params = resolveForwardingParameters(Callee.Decl);
+ if (std::holds_alternative<decltype(ForwardedParamsStorage)>(Params)) {
+ ForwardedParamsStorage =
+ std::get<decltype(ForwardedParamsStorage)>(Params);
+ }
+ if (std::holds_alternative<decltype(CxxRecord)>(Params)) {
+ CxxRecord = std::get<decltype(CxxRecord)>(Params);
+ }
+ }();
----------------
MythreyaK wrote:
Removed, I guess I wanted to make `Params` scope-local. Renamed to
`ParamsOrRecord`, which is much better, agree.
https://github.com/llvm/llvm-project/pull/176635
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits