@@ -147,7 +147,7 @@ static RewriteRule ruleStrlenSize() {
147
147
on (expr (hasType (isOrPointsTo (StringType)))
148
148
.bind (StringExpr)),
149
149
callee (cxxMethodDecl (hasName (" c_str" )))))),
150
- change ( text (" REPLACED" )), text (" Use size() method directly on string." ));
150
+ changeTo ( cat (" REPLACED" )), cat (" Use size() method directly on string." ));
151
151
return R;
152
152
}
153
153
@@ -171,7 +171,7 @@ TEST_F(TransformerTest, Flag) {
171
171
hasName (" proto::ProtoCommandLineFlag" ))))
172
172
.bind (Flag)),
173
173
unless (callee (cxxMethodDecl (hasName (" GetProto" ))))),
174
- change (node (Flag), text (" EXPR" )));
174
+ changeTo (node (Flag), cat (" EXPR" )));
175
175
176
176
std::string Input = R"cc(
177
177
proto::ProtoCommandLineFlag flag;
@@ -189,7 +189,7 @@ TEST_F(TransformerTest, Flag) {
189
189
190
190
TEST_F (TransformerTest, AddIncludeQuoted) {
191
191
RewriteRule Rule = makeRule (callExpr (callee (functionDecl (hasName (" f" )))),
192
- change ( text (" other()" )));
192
+ changeTo ( cat (" other()" )));
193
193
addInclude (Rule, " clang/OtherLib.h" );
194
194
195
195
std::string Input = R"cc(
@@ -207,7 +207,7 @@ TEST_F(TransformerTest, AddIncludeQuoted) {
207
207
208
208
TEST_F (TransformerTest, AddIncludeAngled) {
209
209
RewriteRule Rule = makeRule (callExpr (callee (functionDecl (hasName (" f" )))),
210
- change ( text (" other()" )));
210
+ changeTo ( cat (" other()" )));
211
211
addInclude (Rule, " clang/OtherLib.h" , transformer::IncludeFormat::Angled);
212
212
213
213
std::string Input = R"cc(
@@ -226,7 +226,7 @@ TEST_F(TransformerTest, AddIncludeAngled) {
226
226
TEST_F (TransformerTest, NodePartNameNamedDecl) {
227
227
StringRef Fun = " fun" ;
228
228
RewriteRule Rule = makeRule (functionDecl (hasName (" bad" )).bind (Fun),
229
- change (name (Fun), text (" good" )));
229
+ changeTo (name (Fun), cat (" good" )));
230
230
231
231
std::string Input = R"cc(
232
232
int bad(int x);
@@ -258,7 +258,7 @@ TEST_F(TransformerTest, NodePartNameDeclRef) {
258
258
259
259
StringRef Ref = " ref" ;
260
260
testRule (makeRule (declRefExpr (to (functionDecl (hasName (" bad" )))).bind (Ref),
261
- change (name (Ref), text (" good" ))),
261
+ changeTo (name (Ref), cat (" good" ))),
262
262
Input, Expected);
263
263
}
264
264
@@ -276,7 +276,7 @@ TEST_F(TransformerTest, NodePartNameDeclRefFailure) {
276
276
277
277
StringRef Ref = " ref" ;
278
278
Transformer T (makeRule (declRefExpr (to (functionDecl ())).bind (Ref),
279
- change (name (Ref), text (" good" ))),
279
+ changeTo (name (Ref), cat (" good" ))),
280
280
consumer ());
281
281
T.registerMatchers (&MatchFinder);
282
282
EXPECT_FALSE (rewrite (Input));
@@ -285,7 +285,7 @@ TEST_F(TransformerTest, NodePartNameDeclRefFailure) {
285
285
TEST_F (TransformerTest, NodePartMember) {
286
286
StringRef E = " expr" ;
287
287
RewriteRule Rule = makeRule (memberExpr (member (hasName (" bad" ))).bind (E),
288
- change (member (E), text (" good" )));
288
+ changeTo (member (E), cat (" good" )));
289
289
290
290
std::string Input = R"cc(
291
291
struct S {
@@ -338,7 +338,7 @@ TEST_F(TransformerTest, NodePartMemberQualified) {
338
338
)cc" ;
339
339
340
340
StringRef E = " expr" ;
341
- testRule (makeRule (memberExpr ().bind (E), change (member (E), text (" good" ))),
341
+ testRule (makeRule (memberExpr ().bind (E), changeTo (member (E), cat (" good" ))),
342
342
Input, Expected);
343
343
}
344
344
@@ -370,7 +370,7 @@ TEST_F(TransformerTest, NodePartMemberMultiToken) {
370
370
371
371
StringRef MemExpr = " member" ;
372
372
testRule (makeRule (memberExpr ().bind (MemExpr),
373
- change (member (MemExpr), text (" good" ))),
373
+ changeTo (member (MemExpr), cat (" good" ))),
374
374
Input, Expected);
375
375
}
376
376
@@ -389,7 +389,7 @@ TEST_F(TransformerTest, InsertBeforeEdit) {
389
389
390
390
StringRef Ret = " return" ;
391
391
testRule (makeRule (returnStmt ().bind (Ret),
392
- insertBefore (statement (Ret), text (" int y = 3;" ))),
392
+ insertBefore (statement (Ret), cat (" int y = 3;" ))),
393
393
Input, Expected);
394
394
}
395
395
@@ -410,7 +410,7 @@ TEST_F(TransformerTest, InsertAfterEdit) {
410
410
411
411
StringRef Decl = " decl" ;
412
412
testRule (makeRule (declStmt ().bind (Decl),
413
- insertAfter (statement (Decl), text (" int y = 3;" ))),
413
+ insertAfter (statement (Decl), cat (" int y = 3;" ))),
414
414
Input, Expected);
415
415
}
416
416
@@ -451,9 +451,9 @@ TEST_F(TransformerTest, MultiChange) {
451
451
StringRef C = " C" , T = " T" , E = " E" ;
452
452
testRule (makeRule (ifStmt (hasCondition (expr ().bind (C)),
453
453
hasThen (stmt ().bind (T)), hasElse (stmt ().bind (E))),
454
- {change (node (C), text (" true" )),
455
- change (statement (T), text (" { /* then */ }" )),
456
- change (statement (E), text (" { /* else */ }" ))}),
454
+ {changeTo (node (C), cat (" true" )),
455
+ changeTo (statement (T), cat (" { /* then */ }" )),
456
+ changeTo (statement (E), cat (" { /* else */ }" ))}),
457
457
Input, Expected);
458
458
}
459
459
@@ -464,7 +464,7 @@ TEST_F(TransformerTest, OrderedRuleUnrelated) {
464
464
hasName (" proto::ProtoCommandLineFlag" ))))
465
465
.bind (Flag)),
466
466
unless (callee (cxxMethodDecl (hasName (" GetProto" ))))),
467
- change (node (Flag), text (" PROTO" )));
467
+ changeTo (node (Flag), cat (" PROTO" )));
468
468
469
469
std::string Input = R"cc(
470
470
proto::ProtoCommandLineFlag flag;
@@ -498,10 +498,10 @@ TEST_F(TransformerTest, OrderedRuleRelated) {
498
498
499
499
RewriteRule ReplaceF1 =
500
500
makeRule (callExpr (callee (functionDecl (hasName (" f1" )))),
501
- change ( text (" REPLACE_F1" )));
501
+ changeTo ( cat (" REPLACE_F1" )));
502
502
RewriteRule ReplaceF1OrF2 =
503
503
makeRule (callExpr (callee (functionDecl (hasAnyName (" f1" , " f2" )))),
504
- change ( text (" REPLACE_F1_OR_F2" )));
504
+ changeTo ( cat (" REPLACE_F1_OR_F2" )));
505
505
testRule (applyFirst ({ReplaceF1, ReplaceF1OrF2}), Input, Expected);
506
506
}
507
507
@@ -523,10 +523,10 @@ TEST_F(TransformerTest, OrderedRuleRelatedSwapped) {
523
523
524
524
RewriteRule ReplaceF1 =
525
525
makeRule (callExpr (callee (functionDecl (hasName (" f1" )))),
526
- change ( text (" REPLACE_F1" )));
526
+ changeTo ( cat (" REPLACE_F1" )));
527
527
RewriteRule ReplaceF1OrF2 =
528
528
makeRule (callExpr (callee (functionDecl (hasAnyName (" f1" , " f2" )))),
529
- change ( text (" REPLACE_F1_OR_F2" )));
529
+ changeTo ( cat (" REPLACE_F1_OR_F2" )));
530
530
testRule (applyFirst ({ReplaceF1OrF2, ReplaceF1}), Input, Expected);
531
531
}
532
532
@@ -551,12 +551,12 @@ TEST_F(TransformerTest, OrderedRuleMultipleKinds) {
551
551
552
552
RewriteRule ReplaceF1 =
553
553
makeRule (callExpr (callee (functionDecl (hasName (" f1" )))),
554
- change ( text (" REPLACE_F1" )));
554
+ changeTo ( cat (" REPLACE_F1" )));
555
555
RewriteRule ReplaceF1OrF2 =
556
556
makeRule (callExpr (callee (functionDecl (hasAnyName (" f1" , " f2" )))),
557
- change ( text (" REPLACE_F1_OR_F2" )));
557
+ changeTo ( cat (" REPLACE_F1_OR_F2" )));
558
558
RewriteRule DeclRule = makeRule (functionDecl (hasName (" f2" )).bind (" fun" ),
559
- change (name (" fun" ), text (" DECL_RULE" )));
559
+ changeTo (name (" fun" ), cat (" DECL_RULE" )));
560
560
561
561
RewriteRule Rule = applyFirst ({ReplaceF1, DeclRule, ReplaceF1OrF2});
562
562
EXPECT_EQ (transformer::detail::buildMatchers (Rule).size (), 2UL );
@@ -576,8 +576,9 @@ TEST_F(TransformerTest, TextGeneratorFailure) {
576
576
-> llvm::Expected<std::string> {
577
577
return llvm::createStringError (llvm::errc::invalid_argument, " ERROR" );
578
578
};
579
- Transformer T (makeRule (binaryOperator ().bind (O), change (node (O), AlwaysFail)),
580
- consumer ());
579
+ Transformer T (
580
+ makeRule (binaryOperator ().bind (O), changeTo (node (O), AlwaysFail)),
581
+ consumer ());
581
582
T.registerMatchers (&MatchFinder);
582
583
EXPECT_FALSE (rewrite (Input));
583
584
EXPECT_THAT (Changes, IsEmpty ());
@@ -590,8 +591,8 @@ TEST_F(TransformerTest, OverlappingEditsInRule) {
590
591
// Try to change the whole binary-operator expression AND one its operands:
591
592
StringRef O = " O" , L = " L" ;
592
593
Transformer T (makeRule (binaryOperator (hasLHS (expr ().bind (L))).bind (O),
593
- {change (node (O), text (" DELETE_OP" )),
594
- change (node (L), text (" DELETE_LHS" ))}),
594
+ {changeTo (node (O), cat (" DELETE_OP" )),
595
+ changeTo (node (L), cat (" DELETE_LHS" ))}),
595
596
consumer ());
596
597
T.registerMatchers (&MatchFinder);
597
598
EXPECT_FALSE (rewrite (Input));
@@ -604,7 +605,7 @@ TEST_F(TransformerTest, OverlappingEditsMultipleMatches) {
604
605
std::string Input = " int conflictOneRule() { return -7; }" ;
605
606
// Try to change the whole binary-operator expression AND one its operands:
606
607
StringRef E = " E" ;
607
- Transformer T (makeRule (expr ().bind (E), change (node (E), text (" DELETE_EXPR" ))),
608
+ Transformer T (makeRule (expr ().bind (E), changeTo (node (E), cat (" DELETE_EXPR" ))),
608
609
consumer ());
609
610
T.registerMatchers (&MatchFinder);
610
611
// The rewrite process fails because the changes conflict with each other...
@@ -618,7 +619,7 @@ TEST_F(TransformerTest, ErrorOccurredMatchSkipped) {
618
619
// Syntax error in the function body:
619
620
std::string Input = " void errorOccurred() { 3 }" ;
620
621
Transformer T (makeRule (functionDecl (hasName (" errorOccurred" )),
621
- change ( text (" DELETED;" ))),
622
+ changeTo ( cat (" DELETED;" ))),
622
623
consumer ());
623
624
T.registerMatchers (&MatchFinder);
624
625
// The rewrite process itself fails...
@@ -642,7 +643,7 @@ TEST_F(TransformerTest, SimpleMacro) {
642
643
643
644
StringRef zero = " zero" ;
644
645
RewriteRule R = makeRule (integerLiteral (equals (0 )).bind (zero),
645
- change (node (zero), text (" 999" )));
646
+ changeTo (node (zero), cat (" 999" )));
646
647
testRule (R, Input, Expected);
647
648
}
648
649
@@ -722,7 +723,7 @@ TEST_F(TransformerTest, TwoChangesInOneMacroExpansion) {
722
723
int f() { return PLUS(LIT, LIT); }
723
724
)cc" ;
724
725
725
- testRule (makeRule (integerLiteral (), change ( text (" LIT" ))), Input, Expected);
726
+ testRule (makeRule (integerLiteral (), changeTo ( cat (" LIT" ))), Input, Expected);
726
727
}
727
728
728
729
// Tests case where the rule's match spans both source from the macro and its
@@ -739,7 +740,7 @@ TEST_F(TransformerTest, MatchSpansMacroTextButChangeDoesNot) {
739
740
740
741
StringRef E = " expr" ;
741
742
testRule (makeRule (binaryOperator (hasLHS (expr ().bind (E))),
742
- change (node (E), text (" LIT" ))),
743
+ changeTo (node (E), cat (" LIT" ))),
743
744
Input, Expected);
744
745
}
745
746
@@ -757,7 +758,7 @@ TEST_F(TransformerTest, MatchSpansMacroTextButChangeDoesNotAnchoredInMacro) {
757
758
758
759
StringRef E = " expr" ;
759
760
testRule (makeRule (binaryOperator (hasRHS (expr ().bind (E))),
760
- change (node (E), text (" LIT" ))),
761
+ changeTo (node (E), cat (" LIT" ))),
761
762
Input, Expected);
762
763
}
763
764
@@ -772,7 +773,7 @@ TEST_F(TransformerTest, NoPartialRewriteOMacroExpansion) {
772
773
773
774
StringRef zero = " zero" ;
774
775
RewriteRule R = makeRule (integerLiteral (equals (0 )).bind (zero),
775
- change (node (zero), text (" 0" )));
776
+ changeTo (node (zero), cat (" 0" )));
776
777
testRule (R, Input, Input);
777
778
}
778
779
@@ -794,11 +795,11 @@ TEST_F(TransformerTest, NoPartialRewriteOfMacroExpansionForMacroArgs) {
794
795
// Verifies that `Type` and `QualType` are not allowed as top-level matchers in
795
796
// rules.
796
797
TEST (TransformerDeathTest, OrderedRuleTypes) {
797
- RewriteRule QualTypeRule = makeRule (qualType (), change ( text (" Q" )));
798
+ RewriteRule QualTypeRule = makeRule (qualType (), changeTo ( cat (" Q" )));
798
799
EXPECT_DEATH (transformer::detail::buildMatchers (QualTypeRule),
799
800
" Matcher must be.*node matcher" );
800
801
801
- RewriteRule TypeRule = makeRule (arrayType (), change ( text (" T" )));
802
+ RewriteRule TypeRule = makeRule (arrayType (), changeTo ( cat (" T" )));
802
803
EXPECT_DEATH (transformer::detail::buildMatchers (TypeRule),
803
804
" Matcher must be.*node matcher" );
804
805
}
0 commit comments