[PATCH] D37681: [refactor] Simplify the interface and remove some template magic

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 11 05:53:05 PDT 2017


arphaman created this revision.
Herald added a subscriber: mgorny.

This patch tries to simplify the interface for the refactoring action rules and refactoring requirements. It merges the selection constraints and selection requirements into one class. The refactoring actions rules must now be implemented using subclassing instead of raw function / lambda pointers. This allowed me to get rid of a bunch of traits templates and other template checks.


Repository:
  rL LLVM

https://reviews.llvm.org/D37681

Files:
  include/clang/Tooling/Refactoring/RefactoringActionRule.h
  include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h
  include/clang/Tooling/Refactoring/RefactoringActionRuleRequirementsInternal.h
  include/clang/Tooling/Refactoring/RefactoringActionRules.h
  include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h
  include/clang/Tooling/Refactoring/RefactoringResultConsumer.h
  include/clang/Tooling/Refactoring/SourceSelectionConstraints.h
  lib/Tooling/Refactoring/CMakeLists.txt
  lib/Tooling/Refactoring/Rename/RenamingAction.cpp
  lib/Tooling/Refactoring/SourceSelectionConstraints.cpp
  unittests/Tooling/RefactoringActionRulesTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37681.114578.patch
Type: text/x-patch
Size: 42110 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170911/dab59b48/attachment-0001.bin>


More information about the cfe-commits mailing list