From 1a1f249fc27d091d146329dd5c5e694f6e3e9cc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Thu, 24 Oct 2024 14:35:30 +0200
Subject: [PATCH] VariableNode: handle epilogue symbols in methods that
 manipulate leads/lags

Epilogue variables can have leads/lags when appearing on the RHS of the
epilogue block.

The method VariableNode::maxLagWithDiffsExpanded() was already handling them,
so this commit adapts other methods for consistency.
---
 src/ExprNode.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index a890a357..30eae4f1 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -1785,6 +1785,7 @@ VariableNode::maxLead() const
     case SymbolType::endogenous:
     case SymbolType::exogenous:
     case SymbolType::exogenousDet:
+    case SymbolType::epilogue:
     case SymbolType::heterogeneousEndogenous:
     case SymbolType::heterogeneousExogenous:
       return lag;
@@ -1803,6 +1804,7 @@ VariableNode::maxLag() const
     case SymbolType::endogenous:
     case SymbolType::exogenous:
     case SymbolType::exogenousDet:
+    case SymbolType::epilogue:
     case SymbolType::heterogeneousEndogenous:
     case SymbolType::heterogeneousExogenous:
       return -lag;
@@ -1945,6 +1947,7 @@ VariableNode::decreaseLeadsLags(int n) const
     case SymbolType::endogenous:
     case SymbolType::exogenous:
     case SymbolType::exogenousDet:
+    case SymbolType::epilogue:
     case SymbolType::trend:
     case SymbolType::logTrend:
     case SymbolType::heterogeneousEndogenous:
-- 
GitLab