As Typo Resolution can create new TypoExprs while resolving typos,
it is necessary to recurse through the expression to search for more
typos.
This should fix the assertion failure in clang::Sema::~Sema():
`DelayedTypos.empty() && "Uncorrected typos!"`
Notes:
- For expressions with multiple typos, we only give suggestions if we are able to resolve all typos in the expression
- This patch is similar to D37521 except that it does not eagerly commit to a correction for the first typo in the expression. Instead, it will search for corrections which fix all of the typos in the expression.
Please capitalize this parameter name to match the surrounding code style.