class USRLocFindingASTVisitor
: public clang::RecursiveASTVisitor<USRLocFindingASTVisitor> {
public:
- explicit USRLocFindingASTVisitor(StringRef USR, StringRef PrevName) : USR(USR), PrevName(PrevName) {
- }
+ explicit USRLocFindingASTVisitor(StringRef USR, StringRef PrevName)
+ : USR(USR), PrevName(PrevName) {}
// Declaration visitors:
bool VisitCXXConstructorDecl(clang::CXXConstructorDecl *ConstructorDecl) {
const ASTContext &Context = ConstructorDecl->getASTContext();
- for (clang::CXXConstructorDecl::init_const_iterator it = ConstructorDecl->init_begin(); it != ConstructorDecl->init_end(); ++it) {
- const clang::CXXCtorInitializer* Initializer = *it;
+ for (auto &Initializer : ConstructorDecl->inits()) {
if (Initializer->getSourceOrder() == -1) {
// Ignore implicit initializers.
continue;
if (getUSRForDecl(FieldDecl) == USR) {
// The initializer refers to a field that is to be renamed.
SourceLocation Location = Initializer->getSourceLocation();
- StringRef TokenName = Lexer::getSourceText(CharSourceRange::getTokenRange(Location), Context.getSourceManager(), Context.getLangOpts());
+ StringRef TokenName = Lexer::getSourceText(
+ CharSourceRange::getTokenRange(Location),
+ Context.getSourceManager(), Context.getLangOpts());
if (TokenName == PrevName) {
- // The token of the source location we find actually has the old name.
+ // The token of the source location we find actually has the old
+ // name.
LocationsFound.push_back(Initializer->getSourceLocation());
}
}
bool handleCXXNamedCastExpr(clang::CXXNamedCastExpr *Expr) {
clang::QualType Type = Expr->getType();
// See if this a cast of a pointer.
- const RecordDecl* Decl = Type->getPointeeCXXRecordDecl();
+ const RecordDecl *Decl = Type->getPointeeCXXRecordDecl();
if (!Decl) {
// See if this is a cast of a reference.
Decl = Type->getAsCXXRecordDecl();
}
if (Decl && getUSRForDecl(Decl) == USR) {
- SourceLocation Location = Expr->getTypeInfoAsWritten()->getTypeLoc().getBeginLoc();
+ SourceLocation Location =
+ Expr->getTypeInfoAsWritten()->getTypeLoc().getBeginLoc();
LocationsFound.push_back(Location);
}
};
} // namespace
-std::vector<SourceLocation> getLocationsOfUSR(StringRef USR,
- StringRef PrevName,
+std::vector<SourceLocation> getLocationsOfUSR(StringRef USR, StringRef PrevName,
Decl *Decl) {
USRLocFindingASTVisitor visitor(USR, PrevName);
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_RENAME_USR_LOC_FINDER_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_RENAME_USR_LOC_FINDER_H
+#include "clang/AST/AST.h"
+#include "llvm/ADT/StringRef.h"
#include <string>
#include <vector>
-#include "llvm/ADT/StringRef.h"
-
namespace clang {
-
-class Decl;
-class SourceLocation;
-
namespace rename {
// FIXME: make this an AST matcher. Wouldn't that be awesome??? I agree!
-std::vector<SourceLocation> getLocationsOfUSR(llvm::StringRef usr,
- llvm::StringRef PrevName,
- Decl *decl);
-}
-}
+std::vector<SourceLocation>
+getLocationsOfUSR(llvm::StringRef USR, llvm::StringRef PrevName, Decl *Decl);
+
+} // namespace rename
+} // namespace clang
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_RENAME_USR_LOC_FINDER_H
#include "clang/Tooling/Tooling.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/Support/Host.h"
-#include <cstdlib>
#include <string>
using namespace llvm;
#define CLANG_RENAME_VERSION "0.0.1"
static void PrintVersion() {
- outs() << "clang-rename version " << CLANG_RENAME_VERSION << "\n";
+ outs() << "clang-rename version " << CLANG_RENAME_VERSION << '\n';
}
using namespace clang;
if (NewName.empty()) {
errs() << "clang-rename: no new name provided.\n\n";
- cl::PrintHelpMessage();
exit(1);
}
const auto &USRs = USRAction.getUSRs();
const auto &PrevName = USRAction.getUSRSpelling();
- if (PrevName.empty())
+ if (PrevName.empty()) {
// An error should have already been printed.
exit(1);
+ }
- if (PrintName)
- errs() << "clang-rename: found name: " << PrevName << "\n";
+ if (PrintName) {
+ errs() << "clang-rename: found name: " << PrevName << '\n';
+ }
// Perform the renaming.
rename::RenamingAction RenameAction(NewName, PrevName, USRs,