diff options
author | Andy Soffer <asoffer> | 2020-06-30 14:35:15 +0000 |
---|---|---|
committer | Yitzhak Mandelbaum <yitzhakm@google.com> | 2020-06-30 15:03:07 +0000 |
commit | 9945bd5911636e7f821ac82fdcf8fdb22126e7dc (patch) | |
tree | ef0a844e48346de35001c563f9d46c9361f6576a /clang/unittests/Tooling/RefactoringTest.cpp | |
parent | ce404c8b854b18ca2aaa9529986b3eced73793a3 (diff) | |
download | llvm-9945bd5911636e7f821ac82fdcf8fdb22126e7dc.zip llvm-9945bd5911636e7f821ac82fdcf8fdb22126e7dc.tar.gz llvm-9945bd5911636e7f821ac82fdcf8fdb22126e7dc.tar.bz2 |
Add Metadata to Transformer tooling
This change adds a Metadata field to ASTEdit, Edit, and AtomicChange so that
edits can have associated metadata and that metadata can be constructed with
Transformer-based RewriteRules. Metadata is ignored when applying edits to
source, but other consumers of AtomicChange can use this metadata to direct how
they want to consume each edit.
Reviewed By: ymandel, gribozavr2
Differential Revision: https://reviews.llvm.org/D82226
Diffstat (limited to 'clang/unittests/Tooling/RefactoringTest.cpp')
-rw-r--r-- | clang/unittests/Tooling/RefactoringTest.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/unittests/Tooling/RefactoringTest.cpp b/clang/unittests/Tooling/RefactoringTest.cpp index d65c6db..97a26a7 100644 --- a/clang/unittests/Tooling/RefactoringTest.cpp +++ b/clang/unittests/Tooling/RefactoringTest.cpp @@ -1296,6 +1296,18 @@ TEST_F(AtomicChangeTest, InsertAfterWithInvalidLocation) { Replacement(Context.Sources, SourceLocation(), 0, "b"))); } +TEST_F(AtomicChangeTest, Metadata) { + AtomicChange Change(Context.Sources, DefaultLoc, 17); + const llvm::Any &Metadata = Change.getMetadata(); + ASSERT_TRUE(llvm::any_isa<int>(Metadata)); + EXPECT_EQ(llvm::any_cast<int>(Metadata), 17); +} + +TEST_F(AtomicChangeTest, NoMetadata) { + AtomicChange Change(Context.Sources, DefaultLoc); + EXPECT_FALSE(Change.getMetadata().hasValue()); +} + class ApplyAtomicChangesTest : public ::testing::Test { protected: ApplyAtomicChangesTest() : FilePath("file.cc") { |