From 661f116af19ecd4d6ebb976228c9b35fcb6c66ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Wed, 22 Mar 2023 16:22:18 +0100
Subject: [PATCH] Rename the argument to ExprNode::clone() for clarity
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The argument had the same name as the data member “datatree”, so this could
lead to confusion (though there was no bug, since the argument was masking
the data member).
---
 src/ExprNode.cc | 50 ++++++++++++++++++++++++-------------------------
 src/ExprNode.hh | 20 ++++++++++----------
 2 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index acac6b4e..ef52f44e 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -600,9 +600,9 @@ NumConstNode::computeXrefs([[maybe_unused]] EquationInfo &ei) const
 }
 
 expr_t
-NumConstNode::clone(DataTree &datatree) const
+NumConstNode::clone(DataTree &alt_datatree) const
 {
-  return datatree.AddNonNegativeConstant(datatree.num_constants.get(id));
+  return alt_datatree.AddNonNegativeConstant(datatree.num_constants.get(id));
 }
 
 int
@@ -1581,9 +1581,9 @@ VariableNode::get_type() const
 }
 
 expr_t
-VariableNode::clone(DataTree &datatree) const
+VariableNode::clone(DataTree &alt_datatree) const
 {
-  return datatree.AddVariable(symb_id, lag);
+  return alt_datatree.AddVariable(symb_id, lag);
 }
 
 int
@@ -3451,10 +3451,10 @@ UnaryOpNode::computeXrefs(EquationInfo &ei) const
 }
 
 expr_t
-UnaryOpNode::clone(DataTree &datatree) const
+UnaryOpNode::clone(DataTree &alt_datatree) const
 {
-  expr_t substarg = arg->clone(datatree);
-  return buildSimilarUnaryOpNode(substarg, datatree);
+  expr_t substarg = arg->clone(alt_datatree);
+  return buildSimilarUnaryOpNode(substarg, alt_datatree);
 }
 
 int
@@ -5212,11 +5212,11 @@ BinaryOpNode::computeXrefs(EquationInfo &ei) const
 }
 
 expr_t
-BinaryOpNode::clone(DataTree &datatree) const
+BinaryOpNode::clone(DataTree &alt_datatree) const
 {
-  expr_t substarg1 = arg1->clone(datatree);
-  expr_t substarg2 = arg2->clone(datatree);
-  return buildSimilarBinaryOpNode(substarg1, substarg2, datatree);
+  expr_t substarg1 = arg1->clone(alt_datatree);
+  expr_t substarg2 = arg2->clone(alt_datatree);
+  return buildSimilarBinaryOpNode(substarg1, substarg2, alt_datatree);
 }
 
 int
@@ -6527,12 +6527,12 @@ TrinaryOpNode::computeXrefs(EquationInfo &ei) const
 }
 
 expr_t
-TrinaryOpNode::clone(DataTree &datatree) const
+TrinaryOpNode::clone(DataTree &alt_datatree) const
 {
-  expr_t substarg1 = arg1->clone(datatree);
-  expr_t substarg2 = arg2->clone(datatree);
-  expr_t substarg3 = arg3->clone(datatree);
-  return buildSimilarTrinaryOpNode(substarg1, substarg2, substarg3, datatree);
+  expr_t substarg1 = arg1->clone(alt_datatree);
+  expr_t substarg2 = arg2->clone(alt_datatree);
+  expr_t substarg3 = arg3->clone(alt_datatree);
+  return buildSimilarTrinaryOpNode(substarg1, substarg2, substarg3, alt_datatree);
 }
 
 int
@@ -7479,12 +7479,12 @@ AbstractExternalFunctionNode::toStatic(DataTree &static_datatree) const
 }
 
 expr_t
-AbstractExternalFunctionNode::clone(DataTree &datatree) const
+AbstractExternalFunctionNode::clone(DataTree &alt_datatree) const
 {
   vector<expr_t> dynamic_arguments;
   for (auto argument : arguments)
-    dynamic_arguments.push_back(argument->clone(datatree));
-  return buildSimilarExternalFunctionNode(dynamic_arguments, datatree);
+    dynamic_arguments.push_back(argument->clone(alt_datatree));
+  return buildSimilarExternalFunctionNode(dynamic_arguments, alt_datatree);
 }
 
 expr_t
@@ -8813,9 +8813,9 @@ VarExpectationNode::VarExpectationNode(DataTree &datatree_arg,
 }
 
 expr_t
-VarExpectationNode::clone(DataTree &datatree) const
+VarExpectationNode::clone(DataTree &alt_datatree) const
 {
-  return datatree.AddVarExpectation(model_name);
+  return alt_datatree.AddVarExpectation(model_name);
 }
 
 
@@ -8914,9 +8914,9 @@ PacExpectationNode::PacExpectationNode(DataTree &datatree_arg,
 }
 
 expr_t
-PacExpectationNode::clone(DataTree &datatree) const
+PacExpectationNode::clone(DataTree &alt_datatree) const
 {
-  return datatree.AddPacExpectation(model_name);
+  return alt_datatree.AddPacExpectation(model_name);
 }
 
 void
@@ -9005,9 +9005,9 @@ PacTargetNonstationaryNode::PacTargetNonstationaryNode(DataTree &datatree_arg,
 }
 
 expr_t
-PacTargetNonstationaryNode::clone(DataTree &datatree) const
+PacTargetNonstationaryNode::clone(DataTree &alt_datatree) const
 {
-  return datatree.AddPacTargetNonstationary(model_name);
+  return alt_datatree.AddPacTargetNonstationary(model_name);
 }
 
 void
diff --git a/src/ExprNode.hh b/src/ExprNode.hh
index b35fa742..b811d3e5 100644
--- a/src/ExprNode.hh
+++ b/src/ExprNode.hh
@@ -704,7 +704,7 @@ public:
   virtual optional<int> findTargetVariable(int lhs_symb_id) const = 0;
 
   //! Add ExprNodes to the provided datatree
-  virtual expr_t clone(DataTree &datatree) const = 0;
+  virtual expr_t clone(DataTree &alt_datatree) const = 0;
 
   //! Move a trend variable with lag/lead to time t by dividing/multiplying by its growth factor
   virtual expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const = 0;
@@ -908,7 +908,7 @@ public:
   bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   bool isInStaticForm() const override;
   expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@@ -982,7 +982,7 @@ public:
   bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   bool isInStaticForm() const override;
   expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@@ -1089,7 +1089,7 @@ public:
   bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   bool isInStaticForm() const override;
   expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@@ -1199,7 +1199,7 @@ public:
   bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   //! Function to write out the oPowerNode in expr_t terms as opposed to writing out the function itself
   expr_t unpackPowerDeriv() const;
@@ -1337,7 +1337,7 @@ public:
   bool isVariableNodeEqualTo(SymbolType type_arg, int variable_id, int lag_arg) const override;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   bool isInStaticForm() const override;
   expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@@ -1453,7 +1453,7 @@ public:
   void writePrhs(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const;
   expr_t replaceTrendVar() const override;
   expr_t detrend(int symb_id, bool log_trend, expr_t trend) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   expr_t removeTrendLeadLag(const map<int, expr_t> &trend_symbols_map) const override;
   bool isInStaticForm() const override;
   expr_t replaceVarsInEquation(map<VariableNode *, NumConstNode *> &table) const override;
@@ -1647,7 +1647,7 @@ class VarExpectationNode : public SubModelNode
 public:
   VarExpectationNode(DataTree &datatree_arg, int idx_arg, string model_name_arg);
   void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   int maxLagWithDiffsExpanded() const override;
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   expr_t substitutePacExpectation(const string &name, expr_t subexpr) override;
@@ -1663,7 +1663,7 @@ class PacExpectationNode : public SubModelNode
 public:
   PacExpectationNode(DataTree &datatree_arg, int idx_arg, string model_name);
   void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   int maxLagWithDiffsExpanded() const override;
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   expr_t substitutePacExpectation(const string &name, expr_t subexpr) override;
@@ -1679,7 +1679,7 @@ class PacTargetNonstationaryNode : public SubModelNode
 public:
   PacTargetNonstationaryNode(DataTree &datatree_arg, int idx_arg, string model_name);
   void writeOutput(ostream &output, ExprNodeOutputType output_type, const temporary_terms_t &temporary_terms, const temporary_terms_idxs_t &temporary_terms_idxs, const deriv_node_temp_terms_t &tef_terms) const override;
-  expr_t clone(DataTree &datatree) const override;
+  expr_t clone(DataTree &alt_datatree) const override;
   int maxLagWithDiffsExpanded() const override;
   expr_t substituteVarExpectation(const map<string, expr_t> &subst_table) const override;
   expr_t substitutePacExpectation(const string &name, expr_t subexpr) override;
-- 
GitLab