Don't use VarDecl replacements on range for loops. (#604)

This commit is contained in:
Jon Meow
2021-06-29 09:41:15 -07:00
committed by GitHub
parent b60ef90d62
commit 8e31e46c66
9 changed files with 64 additions and 59 deletions
+5 -1
View File
@@ -14,7 +14,11 @@ namespace Carbon {
VarDecl::VarDecl(std::map<std::string, Replacements>& in_replacements,
cam::MatchFinder* finder)
: Matcher(in_replacements) {
finder->addMatcher(cam::varDecl().bind(Label), this);
// Skip range-based for loops in this var-inserter.
finder->addMatcher(cam::varDecl(cam::unless(cam::hasParent(cam::declStmt(
cam::hasParent(cam::cxxForRangeStmt())))))
.bind(Label),
this);
}
// Returns a string for the type.