================
@@ -18,6 +18,45 @@ namespace clang::tidy::readability {
 
 static const llvm::StringRef AlgorithmHeader("<algorithm>");
 
+static bool MinCondition(const BinaryOperator::Opcode &Op,const Expr 
*CondLhs,const Expr *CondRhs,const Expr *AssignLhs,const Expr *AssignRhs,const 
ASTContext &Context){
+  return ((Op == BO_LT || Op == BO_LE) &&
+       (tidy::utils::areStatementsIdentical(CondLhs, AssignRhs, Context) &&
+        tidy::utils::areStatementsIdentical(CondRhs, AssignLhs, Context))) || 
+        ((Op == BO_GT || Op == BO_GE) && 
+        (tidy::utils::areStatementsIdentical(CondLhs, AssignLhs, Context) &&
+        tidy::utils::areStatementsIdentical(CondRhs, AssignRhs, Context)));
+}
+
+static bool MaxCondition(const BinaryOperator::Opcode &Op,const Expr 
*CondLhs,const Expr *CondRhs,const Expr *AssignLhs,const Expr *AssignRhs,const 
ASTContext &Context){
+  return ((Op == BO_LT || Op == BO_LE) &&
+              (tidy::utils::areStatementsIdentical(CondLhs, AssignLhs,
+                                                   Context) &&
+               tidy::utils::areStatementsIdentical(CondRhs, AssignRhs,
+                                                   Context))) ||
+             ((Op == BO_GT || Op == BO_GE) &&
+              (tidy::utils::areStatementsIdentical(CondLhs, AssignRhs,
+                                                   Context) &&
+               tidy::utils::areStatementsIdentical(CondRhs, AssignLhs,
+                                                   Context)));
+}
+
+static std::string CreateReplacement(const bool UseMax,const 
BinaryOperator::Opcode &Op,const Expr *CondLhs,const Expr *CondRhs,const Expr 
*AssignLhs,const ASTContext &Context,const SourceManager &Source,const 
LangOptions &LO){
+  const auto *FunctionName = UseMax ? "std::max" : "std::min";
----------------
PiotrZSL wrote:

just take FunctionName as argument

https://github.com/llvm/llvm-project/pull/77816
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to