@@ -581,23 +581,18 @@ static const std::vector<std::string> BuiltinMigrationRules = {
581581
582582static void reserveBuiltinMigrationRules () {
583583 for (const auto &Rule : BuiltinMigrationRules) {
584- MetaRuleObject::PatternRewriter PrePR;
585- PrePR.BuildScriptSyntax = Rule;
586- PrePR.RuleId = " builtin_rule_" + Rule;
587-
588- auto Iter = CmakeBuildInRules.find (PrePR.BuildScriptSyntax );
589- if (Iter != CmakeBuildInRules.end ()) {
590- if (PrePR.Priority == RulePriority::Takeover &&
591- Iter->second .Priority > PrePR.Priority ) {
592- CmakeBuildInRules[PrePR.BuildScriptSyntax ] = PrePR;
593- } else {
594- llvm::outs () << " [Warning]: Two migration rules (Rule:" << PrePR.RuleId
595- << " , Rule:" << Iter->second .RuleId
596- << " ) are duplicated, the migration rule (Rule:"
597- << PrePR.RuleId << " ) is ignored.\n " ;
598- }
599- } else {
600- CmakeBuildInRules[PrePR.BuildScriptSyntax ] = PrePR;
584+ MetaRuleObject::PatternRewriter BuiltinPR;
585+ BuiltinPR.BuildScriptSyntax = Rule;
586+ BuiltinPR.RuleId = " builtin_rule_" + Rule;
587+
588+ auto &PR = CmakeBuildInRules[Rule];
589+ if (PR .Priority != RulePriority::Takeover) {
590+ PR = BuiltinPR;
591+ } else if (PR .Priority == RulePriority::Takeover) {
592+ llvm::outs () << " [Warning]: Two migration rules (Rule:"
593+ << BuiltinPR.RuleId << " , Rule:" << PR .RuleId
594+ << " ) are duplicated, the migration rule (Rule:"
595+ << BuiltinPR.RuleId << " ) is ignored.\n " ;
601596 }
602597 }
603598}
0 commit comments