diff --git a/DynamicModel.cc b/DynamicModel.cc index 9e767fad46501bba2701f67791adfb5c55f5791b..c5480aaa5977b668e811924c15178e8c16b40504 100644 --- a/DynamicModel.cc +++ b/DynamicModel.cc @@ -4202,6 +4202,13 @@ DynamicModel::addStaticOnlyEquation(expr_t eq, int lineno) static_only_equations_lineno.push_back(lineno); } +void +DynamicModel::reindex(SymbolTable &orig_symbol_table) +{ + ModelTree::reindex(orig_symbol_table); + reindexStaticOnlyEquations(orig_symbol_table); +} + void DynamicModel::reindexStaticOnlyEquations(SymbolTable &orig_symbol_table) { diff --git a/DynamicModel.hh b/DynamicModel.hh index 835f09b70eb090a45df7b03354e3878874398397..7adda7fd36a7fa95fc6acc3269892ff747d348e6 100644 --- a/DynamicModel.hh +++ b/DynamicModel.hh @@ -244,6 +244,9 @@ public: //! Adds an equation marked as [static] void addStaticOnlyEquation(expr_t eq, int lineno); + //! reindex Dynamic Model after removal of extra exogenous + void reindex(SymbolTable &orig_symbol_table); + //! reindex equations marked as [static] void reindexStaticOnlyEquations(SymbolTable &orig_symbol_table); diff --git a/ModFile.cc b/ModFile.cc index bc9cea5f069da0c9abbb7f9af7d914bf17e08757..ceb68724ce4d7ebad1ceed3fa43b68a35d64ff5c 100644 --- a/ModFile.cc +++ b/ModFile.cc @@ -314,8 +314,6 @@ ModFile::transformPass(bool nostrict) SymbolTable orig_symbol_table = symbol_table; symbol_table.rmExo(unusedExo); dynamic_model.reindex(orig_symbol_table); - dynamic_model.reindexStaticOnlyEquations(orig_symbol_table); - external_functions_table.reindex(symbol_table, orig_symbol_table); vector<Statement *> orig_statements = statements;