From a50e490959ba2c36f8b9596c857b8c5fdd880bdc Mon Sep 17 00:00:00 2001 From: Rixafy <45132928+Rixafy@users.noreply.github.com> Date: Sun, 5 May 2024 21:13:04 +0200 Subject: [PATCH] Fix refreshing {templateType} variables when macro changes --- src/main/java/org/nette/latte/psi/LatteFile.java | 6 ++++++ .../psi/impl/elements/LattePhpClassUsageElementImpl.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/org/nette/latte/psi/LatteFile.java b/src/main/java/org/nette/latte/psi/LatteFile.java index 059e1ad..ff4b55e 100644 --- a/src/main/java/org/nette/latte/psi/LatteFile.java +++ b/src/main/java/org/nette/latte/psi/LatteFile.java @@ -53,11 +53,17 @@ public void subtreeChanged() { variables = null; sortedVariables = null; templateType = null; + templateTypes = null; contextData = null; contexts = null; linkResolver.reset(); } + public void resetTemplateTypes() { + templateTypes = null; + templateType = null; + } + public @NotNull List getCachedVariables() { loadVariables(); assert sortedVariables != null; diff --git a/src/main/java/org/nette/latte/psi/impl/elements/LattePhpClassUsageElementImpl.java b/src/main/java/org/nette/latte/psi/impl/elements/LattePhpClassUsageElementImpl.java index 1008383..e1cf4ec 100644 --- a/src/main/java/org/nette/latte/psi/impl/elements/LattePhpClassUsageElementImpl.java +++ b/src/main/java/org/nette/latte/psi/impl/elements/LattePhpClassUsageElementImpl.java @@ -9,6 +9,7 @@ import org.nette.latte.php.LattePhpUtil; import org.nette.latte.php.NettePhpType; import org.nette.latte.psi.LatteElementFactory; +import org.nette.latte.psi.LatteFile; import org.nette.latte.psi.elements.LattePhpClassUsageElement; import org.nette.latte.psi.impl.LattePhpElementImpl; import org.nette.latte.utils.LatteUtil; @@ -29,6 +30,12 @@ public LattePhpClassUsageElementImpl(@NotNull ASTNode node) { public void subtreeChanged() { super.subtreeChanged(); reset(); + if (isTemplateType()) { + LatteFile file = getLatteFile(); + if (file != null) { + file.resetTemplateTypes(); + } + } } @Override