23 candidate.
func_name = FS->getNameAsString();
25 FS->printNestedNameSpecifier(OS, pp);
27 std::vector<clang::ParmVarDecl*> parms(FS->parameters().begin(), FS->parameters().end());
28 spdlog::debug(
"Loaded candidate (wo params): {} with #{} parameters.", candidate, parms.size());
37 const clang::CXXConstructorDecl* ConstructorCheck = llvm::dyn_cast<clang::CXXConstructorDecl>(MFS);
42 MFS->getParent()->printNestedNameSpecifier(OS, pp);
44 candidate.
class_name = MFS->getParent()->getNameAsString();
45 if(
const auto CTPS = llvm::dyn_cast<clang::ClassTemplatePartialSpecializationDecl>(MFS->getParent())) {
46 auto targs = &CTPS->getTemplateArgs();
48 for(std::size_t i = 0; i < targs->size(); ++i) {
51 }
else if(
auto CTD = MFS->getParent()->getDescribedClassTemplate()) {
52 auto ttypes = CTD->getTemplateParameters();
54 for(std::size_t i = 0; i < ttypes->size(); ++i) {
57 if(
auto ttype_decl = llvm::dyn_cast<clang::TemplateTypeParmDecl>(ttypes->getParam(i))) {
58 if(ttype_decl->isParameterPack()) {
63 }
else if(
auto tnontype_decl = llvm::dyn_cast<clang::NonTypeTemplateParmDecl>(ttypes->getParam(i))) {
64 if(tnontype_decl->isParameterPack()) {
69 }
else if(
auto ttemplate_decl = llvm::dyn_cast<clang::TemplateTemplateParmDecl>(ttypes->getParam(i))) {
70 if(ttemplate_decl->isParameterPack()) {