[libTooling] In Clang Transformer, change `Metadata` field to deferred evaluation.
authorAndy Soffer <asoffer>
Tue, 21 Jul 2020 17:51:05 +0000 (17:51 +0000)
committerYitzhak Mandelbaum <yitzhakm@google.com>
Tue, 21 Jul 2020 18:05:49 +0000 (18:05 +0000)
commite5b3202b6f9484590c9e70b8bb82d2778d1ca4fe
treef1b3ca454957a400c39c51707351f48a17852859
parentac0edc55887b6961ad90fd51f349c9587b1a8a7a
[libTooling] In Clang Transformer, change `Metadata` field to deferred evaluation.

`Metadata` is being changed from an `llvm::Any` to a `MatchConsumer<llvm::Any>`
so that it's evaluation can be be dependent on on `MatchResult`s passed in.

Reviewed By: ymandel, gribozavr2

Differential Revision: https://reviews.llvm.org/D83820
clang/include/clang/Tooling/Transformer/RewriteRule.h
clang/lib/Tooling/Transformer/RewriteRule.cpp
clang/unittests/Tooling/TransformerTest.cpp