aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Tooling/RefactoringTest.cpp
diff options
context:
space:
mode:
authorAndy Soffer <asoffer>2020-06-30 14:35:15 +0000
committerYitzhak Mandelbaum <yitzhakm@google.com>2020-06-30 15:03:07 +0000
commit9945bd5911636e7f821ac82fdcf8fdb22126e7dc (patch)
treeef0a844e48346de35001c563f9d46c9361f6576a /clang/unittests/Tooling/RefactoringTest.cpp
parentce404c8b854b18ca2aaa9529986b3eced73793a3 (diff)
downloadllvm-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.cpp12
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") {