llvm-project/clang/lib/Tooling/Refactoring
Yitzhak Mandelbaum 3f1ab737e2 [LibTooling] Relax Transformer to allow rewriting macro expansions
Summary:
Currently, Transformer rejects any changes to source locations inside macro
expansions. This change relaxes that constraint to allow rewrites when the
entirety of the expansion is replaced, since that can be mapped to replacing the
entirety of the expansion range in the file source.  This change makes
Transformer consistent with the handling of edit ranges in `clang::edit::Commit`
(which is used, for example, for applying `FixItHint`s from diagnostics).

Reviewers: ilya-biryukov

Subscribers: gribozavr, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64518

llvm-svn: 366473
2019-07-18 17:44:54 +00:00
..
Extract Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Rename [clangd] Narrow rename to local symbols. 2019-06-25 08:43:17 +00:00
ASTSelection.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ASTSelectionRequirements.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AtomicChange.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt Rename clangToolingRefactor to clangToolingRefactoring for consistency with its directory 2019-05-25 00:27:19 +00:00
RangeSelector.cpp [LibTooling] Add `before` and `after` selectors for selecting point-ranges relative to nodes. 2019-05-29 12:40:36 +00:00
RefactoringActions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SourceCode.cpp [LibTooling] Add function to translate and validate source range for editing 2019-07-18 17:26:57 +00:00
Stencil.cpp [LibTooling] Update Stencil to use RangeSelector 2019-05-22 18:03:00 +00:00
Transformer.cpp [LibTooling] Relax Transformer to allow rewriting macro expansions 2019-07-18 17:44:54 +00:00