summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/UseAuto
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/UseAuto')
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp11
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.h2
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp7
-rw-r--r--clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h16
4 files changed, 17 insertions, 19 deletions
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
index ccf49d88c92..72f5ae077f2 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.cpp
@@ -20,7 +20,7 @@ using clang::ast_matchers::MatchFinder;
using namespace clang;
using namespace clang::tooling;
-int UseAutoTransform::apply(FileOverrides &InputStates,
+int UseAutoTransform::apply(const FileOverrides &InputStates,
const clang::tooling::CompilationDatabase &Database,
const std::vector<std::string> &SourcePaths) {
ClangTool UseAutoTool(Database, SourcePaths);
@@ -28,10 +28,11 @@ int UseAutoTransform::apply(FileOverrides &InputStates,
unsigned AcceptedChanges = 0;
MatchFinder Finder;
- IteratorReplacer ReplaceIterators(getReplacements(), AcceptedChanges,
- Options().MaxRiskLevel, /*Owner=*/ *this);
- NewReplacer ReplaceNew(getReplacements(), AcceptedChanges,
- Options().MaxRiskLevel, /*Owner=*/ *this);
+ ReplacementsVec Replaces;
+ IteratorReplacer ReplaceIterators(AcceptedChanges, Options().MaxRiskLevel,
+ /*Owner=*/ *this);
+ NewReplacer ReplaceNew(AcceptedChanges, Options().MaxRiskLevel,
+ /*Owner=*/ *this);
Finder.addMatcher(makeIteratorDeclMatcher(), &ReplaceIterators);
Finder.addMatcher(makeDeclWithNewMatcher(), &ReplaceNew);
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.h b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.h
index 71b8dd7dc95..26b5e4496f6 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.h
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAuto.h
@@ -34,7 +34,7 @@ public:
: Transform("UseAuto", Options) {}
/// \see Transform::run().
- virtual int apply(FileOverrides &InputStates,
+ virtual int apply(const FileOverrides &InputStates,
const clang::tooling::CompilationDatabase &Database,
const std::vector<std::string> &SourcePaths) LLVM_OVERRIDE;
};
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
index 643de63069e..2a8d5c5935d 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.cpp
@@ -73,7 +73,7 @@ void IteratorReplacer::run(const MatchFinder::MatchResult &Result) {
// iterators but something to keep in mind in the future.
CharSourceRange Range(TL.getSourceRange(), true);
- Replace.insert(tooling::Replacement(SM, Range, "auto"));
+ Owner.addReplacementForCurrentTU(tooling::Replacement(SM, Range, "auto"));
++AcceptedChanges;
}
@@ -131,8 +131,9 @@ void NewReplacer::run(const MatchFinder::MatchResult &Result) {
for (std::vector<SourceLocation>::iterator I = StarLocations.begin(),
E = StarLocations.end();
I != E; ++I) {
- Replace.insert(tooling::Replacement(SM, *I, 1, ""));
+ Owner.addReplacementForCurrentTU(tooling::Replacement(SM, *I, 1, ""));
}
+
// FIXME: There is, however, one case we can address: when the VarDecl
// pointee is the same as the initializer, just more CV-qualified. However,
// TypeLoc information is not reliable where CV qualifiers are concerned so
@@ -141,6 +142,6 @@ void NewReplacer::run(const MatchFinder::MatchResult &Result) {
FirstDecl->getTypeSourceInfo()->getTypeLoc().getSourceRange(), true);
// Space after 'auto' to handle cases where the '*' in the pointer type
// is next to the identifier. This avoids changing 'int *p' into 'autop'.
- Replace.insert(tooling::Replacement(SM, Range, "auto "));
+ Owner.addReplacementForCurrentTU(tooling::Replacement(SM, Range, "auto "));
++AcceptedChanges;
}
diff --git a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
index 403621803c3..0ddb0e0c5af 100644
--- a/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
+++ b/clang-tools-extra/cpp11-migrate/UseAuto/UseAutoActions.h
@@ -25,36 +25,32 @@
class IteratorReplacer
: public clang::ast_matchers::MatchFinder::MatchCallback {
public:
- IteratorReplacer(clang::tooling::Replacements &Replace,
- unsigned &AcceptedChanges, RiskLevel, const Transform &Owner)
- : Replace(Replace), AcceptedChanges(AcceptedChanges), Owner(Owner) {}
+ IteratorReplacer(unsigned &AcceptedChanges, RiskLevel, Transform &Owner)
+ : AcceptedChanges(AcceptedChanges), Owner(Owner) {}
/// \brief Entry point to the callback called when matches are made.
virtual void run(const clang::ast_matchers::MatchFinder::MatchResult &Result)
LLVM_OVERRIDE;
private:
- clang::tooling::Replacements &Replace;
unsigned &AcceptedChanges;
- const Transform &Owner;
+ Transform &Owner;
};
/// \brief The callback used when replacing type specifiers of variable
/// declarations initialized by a C++ new expression.
class NewReplacer : public clang::ast_matchers::MatchFinder::MatchCallback {
public:
- NewReplacer(clang::tooling::Replacements &Replace, unsigned &AcceptedChanges,
- RiskLevel, const Transform &Owner)
- : Replace(Replace), AcceptedChanges(AcceptedChanges), Owner(Owner) {}
+ NewReplacer(unsigned &AcceptedChanges, RiskLevel, Transform &Owner)
+ : AcceptedChanges(AcceptedChanges), Owner(Owner) {}
/// \brief Entry point to the callback called when matches are made.
virtual void run(const clang::ast_matchers::MatchFinder::MatchResult &Result)
LLVM_OVERRIDE;
private:
- clang::tooling::Replacements &Replace;
unsigned &AcceptedChanges;
- const Transform &Owner;
+ Transform &Owner;
};
#endif // CPP11_MIGRATE_USE_AUTO_ACTIONS_H
OpenPOWER on IntegriCloud