Skip to content

Commit 5644137

Browse files
martinboehmezoecarver
authored andcommitted
Eliminate duplication of code for adding empty argument names.
1 parent 3066e16 commit 5644137

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

lib/ClangImporter/ImportName.cpp

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,6 +1366,16 @@ static bool suppressFactoryMethodAsInit(const clang::ObjCMethodDecl *method,
13661366
initKind == CtorInitializerKind::ConvenienceFactory);
13671367
}
13681368

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+
13691379
ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
13701380
ImportNameVersion version,
13711381
clang::DeclarationName givenName) {
@@ -1604,13 +1614,8 @@ ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
16041614
isFunction = true;
16051615
result.info.initKind = CtorInitializerKind::Designated;
16061616
baseName = "init";
1607-
// Add empty argument names.
16081617
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);
16141619
}
16151620
break;
16161621

@@ -1684,16 +1689,9 @@ ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
16841689
}
16851690
}
16861691

1687-
// For C functions, create empty argument names.
16881692
if (auto function = dyn_cast<clang::FunctionDecl>(D)) {
16891693
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);
16971695
}
16981696
break;
16991697

0 commit comments

Comments
 (0)