@@ -1366,6 +1366,16 @@ static bool suppressFactoryMethodAsInit(const clang::ObjCMethodDecl *method,
1366
1366
initKind == CtorInitializerKind::ConvenienceFactory);
1367
1367
}
1368
1368
1369
+ static void
1370
+ addEmptyArgNamesForCxxFunc (const clang::FunctionDecl *funcDecl,
1371
+ SmallVectorImpl<StringRef> &argumentNames) {
1372
+ for (size_t i = 0 ; i < funcDecl->param_size (); ++i) {
1373
+ argumentNames.push_back (StringRef ());
1374
+ }
1375
+ if (funcDecl->isVariadic ())
1376
+ argumentNames.push_back (StringRef ());
1377
+ }
1378
+
1369
1379
ImportedName NameImporter::importNameImpl (const clang::NamedDecl *D,
1370
1380
ImportNameVersion version,
1371
1381
clang::DeclarationName givenName) {
@@ -1604,13 +1614,8 @@ ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
1604
1614
isFunction = true ;
1605
1615
result.info .initKind = CtorInitializerKind::Designated;
1606
1616
baseName = " init" ;
1607
- // Add empty argument names.
1608
1617
if (auto ctor = dyn_cast<clang::CXXConstructorDecl>(D)) {
1609
- for (size_t i = 0 ; i < ctor->param_size (); ++i) {
1610
- argumentNames.push_back (StringRef ());
1611
- }
1612
- if (ctor->isVariadic ())
1613
- argumentNames.push_back (StringRef ());
1618
+ addEmptyArgNamesForCxxFunc (ctor, argumentNames);
1614
1619
}
1615
1620
break ;
1616
1621
@@ -1684,16 +1689,9 @@ ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
1684
1689
}
1685
1690
}
1686
1691
1687
- // For C functions, create empty argument names.
1688
1692
if (auto function = dyn_cast<clang::FunctionDecl>(D)) {
1689
1693
isFunction = true ;
1690
- params = {function->param_begin (), function->param_end ()};
1691
- for (auto param : params) {
1692
- (void )param;
1693
- argumentNames.push_back (StringRef ());
1694
- }
1695
- if (function->isVariadic ())
1696
- argumentNames.push_back (StringRef ());
1694
+ addEmptyArgNamesForCxxFunc (function, argumentNames);
1697
1695
}
1698
1696
break ;
1699
1697
0 commit comments