diff options
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/Core/Transforms.cpp')
-rw-r--r-- | clang-tools-extra/cpp11-migrate/Core/Transforms.cpp | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp b/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp index 720d3880964..d7eae694870 100644 --- a/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp +++ b/clang-tools-extra/cpp11-migrate/Core/Transforms.cpp @@ -13,17 +13,10 @@ //===----------------------------------------------------------------------===// #include "Core/Transforms.h" -#include "LoopConvert/LoopConvert.h" -#include "UseNullptr/UseNullptr.h" -#include "UseAuto/UseAuto.h" +#include "Core/Transform.h" namespace cl = llvm::cl; -template <typename T> -Transform *ConstructTransform() { - return new T(); -} - Transforms::~Transforms() { for (std::vector<Transform*>::iterator I = ChosenTransforms.begin(), E = ChosenTransforms.end(); I != E; ++I) { @@ -35,26 +28,11 @@ Transforms::~Transforms() { } } -void Transforms::createTransformOpts() { - Options.push_back( - OptionVec::value_type( - new cl::opt<bool>("loop-convert", - cl::desc("Make use of range-based for loops where possible")), - &ConstructTransform<LoopConvertTransform>)); - - Options.push_back( - OptionVec::value_type( - new cl::opt<bool>("use-nullptr", - cl::desc("Make use of nullptr keyword where possible")), - &ConstructTransform<UseNullptrTransform>)); - - Options.push_back( - OptionVec::value_type( - new cl::opt<bool>("use-auto", - cl::desc("Use of 'auto' type specifier")), - &ConstructTransform<UseAutoTransform>)); - - // Add more transform options here. +void Transforms::registerTransform(llvm::StringRef OptName, + llvm::StringRef Description, + TransformCreator Creator) { + Options.push_back(OptionVec::value_type( + new cl::opt<bool>(OptName.data(), cl::desc(Description.data())), Creator)); } void Transforms::createSelectedTransforms() { |