On Wed, Jul 23, 2014 at 2:07 PM, Alexander Kornienko <[email protected]> wrote: > On Wed, Jul 23, 2014 at 1:50 PM, Benjamin Kramer <[email protected]> > wrote: >> >> Author: d0k >> Date: Wed Jul 23 06:50:54 2014 >> New Revision: 213740 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=213740&view=rev >> Log: >> Add the fix that should've accompanied r213738. >> >> Modified: >> clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp >> >> Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp?rev=213740&r1=213739&r2=213740&view=diff >> >> ============================================================================== >> --- clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp (original) >> +++ clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp Wed Jul 23 >> 06:50:54 2014 >> @@ -34,7 +34,6 @@ void UnusedRAIICheck::registerMatchers(M >> anyOf(recordDecl(ast_matchers::isTemplateInstantiation()), >> >> functionDecl(ast_matchers::isTemplateInstantiation()))))), >> hasParent(compoundStmt().bind("compound")), >> - hasDescendant(typeLoc().bind("typeloc")), >> hasType(recordDecl(hasUserDeclaredDestructor())), >> anyOf(has(BindTemp), has(functionalCastExpr(has(BindTemp))))) >> .bind("expr"), >> @@ -71,8 +70,12 @@ void UnusedRAIICheck::check(const MatchF >> return; >> } >> >> - // Otherwise just suggest adding a name. >> - const auto *TL = Result.Nodes.getNodeAs<TypeLoc>("typeloc"); >> + // Otherwise just suggest adding a name. To find the place to insert >> the name >> + // find the first TypeLoc in the children of E, which always points to >> the >> + // written type. >> + const auto *TL = >> + selectFirst<TypeLoc>("t", >> match(expr(hasDescendant(typeLoc().bind("t"))), >> + *E, *Result.Context)); > > > Can't you just match typeLoc()?
I tried that and it doesn't work. Neither does findAll(typeLoc()). Took me a while to come up with the current incantation :| - Ben >> >> D << FixItHint::CreateInsertion( >> Lexer::getLocForEndOfToken(TL->getLocEnd(), 0, >> *Result.SourceManager, >> Result.Context->getLangOpts()), >> >> > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
