From adcd7b38fd105da905334698aec83f7b57a9c419 Mon Sep 17 00:00:00 2001 From: JohnnyMorganz Date: Wed, 19 Oct 2022 16:40:27 +0100 Subject: [PATCH] Fix mark non immediate reverse deps as dirty --- Analysis/src/Frontend.cpp | 6 +++--- tests/Frontend.test.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Analysis/src/Frontend.cpp b/Analysis/src/Frontend.cpp index 5705ac17..cca058c9 100644 --- a/Analysis/src/Frontend.cpp +++ b/Analysis/src/Frontend.cpp @@ -807,12 +807,12 @@ void Frontend::markDirty(const ModuleName& name, std::vector* marked sourceNode.dirtyModule = true; sourceNode.dirtyModuleForAutocomplete = true; - if (0 == reverseDeps.count(name)) + if (0 == reverseDeps.count(next)) continue; - sourceModules.erase(name); + sourceModules.erase(next); - const std::vector& dependents = reverseDeps[name]; + const std::vector& dependents = reverseDeps[next]; queue.insert(queue.end(), dependents.begin(), dependents.end()); } } diff --git a/tests/Frontend.test.cpp b/tests/Frontend.test.cpp index c2241b54..fb411617 100644 --- a/tests/Frontend.test.cpp +++ b/tests/Frontend.test.cpp @@ -517,7 +517,7 @@ TEST_CASE_FIXTURE(FrontendFixture, "recheck_if_dependent_script_is_dirty") CHECK_EQ("{| b_value: string |}", toString(*bExports)); } -TEST_CASE_FIXTURE(FrontendFixture, "mark_transitive_deps_as_dirty") +TEST_CASE_FIXTURE(FrontendFixture, "mark_non_immediate_reverse_deps_as_dirty") { fileResolver.source["game/Gui/Modules/A"] = "return {hello=5, world=true}"; fileResolver.source["game/Gui/Modules/B"] = R"(