Browse Source

Fix crash on nullptr `TemplateTypeParm` decl

pull/1901/head
duckdoom5 5 months ago
parent
commit
55e68ed7f4
  1. 8
      src/CppParser/Parser.cpp

8
src/CppParser/Parser.cpp

@ -2868,9 +2868,13 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL, @@ -2868,9 +2868,13 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL,
}
assertm(TL->getTypeLocClass() == TypeLoc::TemplateTypeParm, "Token should be template type parameter!\n");
auto TTTL = TL->getAs<TemplateTypeParmTypeLoc>();
auto TTPTL = TL->getAs<TemplateTypeParmTypeLoc>();
auto TTPD = TTPTL.getDecl();
TPT->parameter = WalkTypeTemplateParameter(TTTL.getDecl());
if (!TTPD)
return nullptr; // Can happen when a template param is used in a nested template argument
TPT->parameter = WalkTypeTemplateParameter(TTPD);
}
else if (TP->getDecl())
TPT->parameter = WalkTypeTemplateParameter(TP->getDecl());

Loading…
Cancel
Save