diff --git a/src/SymbolTable.cc b/src/SymbolTable.cc index 055fedd52a41200fdd327829cad728de496ea246..4240e00a3c20ce520a0b32680cf230bc46a9d50b 100644 --- a/src/SymbolTable.cc +++ b/src/SymbolTable.cc @@ -420,7 +420,8 @@ SymbolTable::addLeadAuxiliaryVarInternal(bool endo, int index, expr_t expr_arg) exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, (endo ? AuxVarType::endoLead : AuxVarType::exoLead), 0, 0, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, (endo ? AuxVarType::endoLead : AuxVarType::exoLead), 0, 0, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -440,7 +441,8 @@ SymbolTable::addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_le exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, (endo ? AuxVarType::endoLag : AuxVarType::exoLag), orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, (endo ? AuxVarType::endoLag : AuxVarType::exoLag), orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -485,7 +487,8 @@ SymbolTable::addExpectationAuxiliaryVar(int information_set, int index, expr_t e exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::expectation, 0, 0, 0, information_set, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::expectation, 0, 0, 0, information_set, expr_arg, ""); + aux_vars.emplace_back(aux_var_info); return symb_id; } @@ -505,7 +508,8 @@ SymbolTable::addLogTransformAuxiliaryVar(int orig_symb_id, int orig_lead_lag, ex exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::logTransform, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::logTransform, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -525,7 +529,8 @@ SymbolTable::addDiffLagAuxiliaryVar(int index, expr_t expr_arg, int orig_symb_id exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::diffLag, orig_symb_id, orig_lag, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffLag, orig_symb_id, orig_lag, 0, 0, expr_arg, ""); + aux_vars.psuh_back(aux_var_info); return symb_id; } @@ -545,7 +550,8 @@ SymbolTable::addDiffLeadAuxiliaryVar(int index, expr_t expr_arg, int orig_symb_i exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::diffLead, orig_symb_id, orig_lead, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffLead, orig_symb_id, orig_lead, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -565,7 +571,8 @@ SymbolTable::addDiffAuxiliaryVar(int index, expr_t expr_arg, optional<int> orig_ exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::diff, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::diff, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -585,7 +592,8 @@ SymbolTable::addUnaryOpAuxiliaryVar(int index, expr_t expr_arg, string unary_op, exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::unaryOp, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, unary_op); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::unaryOp, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, unary_op); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -605,7 +613,8 @@ SymbolTable::addMultiplierAuxiliaryVar(int index) noexcept(false) exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::multiplier, 0, 0, index, 0, nullptr, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::multiplier, 0, 0, index, 0, nullptr, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -624,7 +633,8 @@ SymbolTable::addDiffForwardAuxiliaryVar(int orig_symb_id, int orig_lead_lag, exp exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::diffForward, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffForward, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -642,7 +652,8 @@ SymbolTable::addPacExpectationAuxiliaryVar(const string &name, expr_t expr_arg) exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::pacExpectation, 0, 0, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::pacExpectation, 0, 0, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; } @@ -660,7 +671,8 @@ SymbolTable::addPacTargetNonstationaryAuxiliaryVar(const string &name, expr_t ex exit(EXIT_FAILURE); } - aux_vars.emplace_back(symb_id, AuxVarType::pacTargetNonstationary, 0, 0, 0, 0, expr_arg, ""); + aux_var_info = AuxVarInfo(symb_id, AuxVarType::pacTargetNonstationary, 0, 0, 0, 0, expr_arg, ""); + aux_vars.push_back(aux_var_info); return symb_id; }