From cb086756966db160f407b67b00a927cd8aa5df5d Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Thu, 9 Apr 2015 15:18:12 +0200
Subject: [PATCH] preprocessor: pointer to symbol_table unnecessary

---
 ComputingTasks.cc          | 14 ++++++--------
 NumericalInitialization.cc | 20 ++++++++------------
 2 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/ComputingTasks.cc b/ComputingTasks.cc
index 82327b03..02adf8d7 100644
--- a/ComputingTasks.cc
+++ b/ComputingTasks.cc
@@ -1184,14 +1184,13 @@ ObservationTrendsStatement::ObservationTrendsStatement(const trend_elements_t &t
 Statement *
 ObservationTrendsStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
-  SymbolTable *new_symbol_table =  dynamic_datatree.getSymbolTable();
   map<string, expr_t> new_trend_elements;
   try
     {
       for (map<string, expr_t>::const_iterator it = trend_elements.begin();
              it != trend_elements.end(); it++)
         {
-          new_symbol_table->getID(it->first);
+          symbol_table.getID(it->first);
           new_trend_elements[it->first] = it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table);
         }
     }
@@ -1201,7 +1200,7 @@ ObservationTrendsStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, S
            << "       This likely means that you have declared a varexo that is not used in the model" << endl;
       exit(EXIT_FAILURE);
     }
-  return new ObservationTrendsStatement(new_trend_elements, *new_symbol_table);
+  return new ObservationTrendsStatement(new_trend_elements, symbol_table);
 }
 
 void
@@ -1351,7 +1350,6 @@ OptimWeightsStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
 Statement *
 OptimWeightsStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
-  SymbolTable *new_symbol_table =  dynamic_datatree.getSymbolTable();
   var_weights_t new_var_weights;
   covar_weights_t new_covar_weights;
   try
@@ -1359,15 +1357,15 @@ OptimWeightsStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, Symbol
       for (var_weights_t::const_iterator it = var_weights.begin();
            it != var_weights.end(); it++)
         {
-          new_symbol_table->getID(it->first);
+          symbol_table.getID(it->first);
           new_var_weights[it->first] = it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table);
         }
 
       for (covar_weights_t::const_iterator it = covar_weights.begin();
            it != covar_weights.end(); it++)
         {
-          new_symbol_table->getID(it->first.first);
-          new_symbol_table->getID(it->first.second);
+          symbol_table.getID(it->first.first);
+          symbol_table.getID(it->first.second);
           new_covar_weights[make_pair(it->first.first, it->first.second)] =
             it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table);
         }
@@ -1378,7 +1376,7 @@ OptimWeightsStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, Symbol
            << "       This likely means that you have declared a varexo that is not used in the model" << endl;
       exit(EXIT_FAILURE);
     }
-  return new OptimWeightsStatement(new_var_weights, new_covar_weights, *new_symbol_table);
+  return new OptimWeightsStatement(new_var_weights, new_covar_weights, symbol_table);
 }
 
 void
diff --git a/NumericalInitialization.cc b/NumericalInitialization.cc
index 943bbb93..de910dc0 100644
--- a/NumericalInitialization.cc
+++ b/NumericalInitialization.cc
@@ -76,12 +76,11 @@ InitParamStatement::fillEvalContext(eval_context_t &eval_context) const
 Statement *
 InitParamStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
-  SymbolTable *new_symbol_table =  dynamic_datatree.getSymbolTable();
   try
     {
-      return new InitParamStatement(new_symbol_table->getID(orig_symbol_table.getName(symb_id)),
+      return new InitParamStatement(symbol_table.getID(orig_symbol_table.getName(symb_id)),
                                     param_value->cloneDynamicReindex(dynamic_datatree, orig_symbol_table),
-                                    *new_symbol_table);
+                                    symbol_table);
     }
   catch (SymbolTable::UnknownSymbolIDException &e)
     {
@@ -229,12 +228,11 @@ Statement *
 InitValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
   init_values_t new_init_values;
-  SymbolTable *new_symbol_table =  dynamic_datatree.getSymbolTable();
   try
     {
       for (init_values_t::const_iterator it=init_values.begin();
            it != init_values.end(); it++)
-        new_init_values.push_back(make_pair(new_symbol_table->getID(orig_symbol_table.getName(it->first)),
+        new_init_values.push_back(make_pair(symbol_table.getID(orig_symbol_table.getName(it->first)),
                                             it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table)));
     }
   catch (SymbolTable::UnknownSymbolIDException &e)
@@ -243,7 +241,7 @@ InitValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable
            << "       This likely means that you have declared a varexo that is not used in the model" << endl;
       exit(EXIT_FAILURE);
     }
-  return new InitValStatement(new_init_values, *new_symbol_table, all_values_required);
+  return new InitValStatement(new_init_values, symbol_table, all_values_required);
 }
 
 EndValStatement::EndValStatement(const init_values_t &init_values_arg,
@@ -296,12 +294,11 @@ Statement *
 EndValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
   init_values_t new_init_values;
-  SymbolTable *new_symbol_table = dynamic_datatree.getSymbolTable();
   try
     {
       for (init_values_t::const_iterator it=init_values.begin();
            it != init_values.end(); it++)
-        new_init_values.push_back(make_pair(new_symbol_table->getID(orig_symbol_table.getName(it->first)),
+        new_init_values.push_back(make_pair(symbol_table.getID(orig_symbol_table.getName(it->first)),
                                             it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table)));
     }
   catch (SymbolTable::UnknownSymbolIDException &e)
@@ -310,7 +307,7 @@ EndValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable
            << "       This likely means that you have declared a varexo that is not used in the model" << endl;
       exit(EXIT_FAILURE);
     }
-  return new EndValStatement(new_init_values, *new_symbol_table, all_values_required);
+  return new EndValStatement(new_init_values, symbol_table, all_values_required);
 }
 
 HistValStatement::HistValStatement(const hist_values_t &hist_values_arg,
@@ -383,12 +380,11 @@ Statement *
 HistValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable &orig_symbol_table)
 {
   hist_values_t new_hist_values;
-  SymbolTable *new_symbol_table = dynamic_datatree.getSymbolTable();
   try
     {
       for (hist_values_t::const_iterator it=hist_values.begin();
            it != hist_values.end(); it++)
-        new_hist_values[make_pair(new_symbol_table->getID(orig_symbol_table.getName(it->first.first)),
+        new_hist_values[make_pair(symbol_table.getID(orig_symbol_table.getName(it->first.first)),
                                   it->first.second)] =
           it->second->cloneDynamicReindex(dynamic_datatree, orig_symbol_table);
     }
@@ -398,7 +394,7 @@ HistValStatement::cloneAndReindexSymbIds(DataTree &dynamic_datatree, SymbolTable
            << "       This likely means that you have declared a varexo that is not used in the model" << endl;
       exit(EXIT_FAILURE);
     }
-  return new HistValStatement(new_hist_values, *new_symbol_table);
+  return new HistValStatement(new_hist_values, symbol_table);
 }
 
 InitvalFileStatement::InitvalFileStatement(const string &filename_arg) :
-- 
GitLab