Fix mark non immediate reverse deps as dirty

This commit is contained in:
JohnnyMorganz 2022-10-19 16:40:27 +01:00
parent c96d7adb83
commit adcd7b38fd
2 changed files with 4 additions and 4 deletions

View file

@ -807,12 +807,12 @@ void Frontend::markDirty(const ModuleName& name, std::vector<ModuleName>* marked
sourceNode.dirtyModule = true; sourceNode.dirtyModule = true;
sourceNode.dirtyModuleForAutocomplete = true; sourceNode.dirtyModuleForAutocomplete = true;
if (0 == reverseDeps.count(name)) if (0 == reverseDeps.count(next))
continue; continue;
sourceModules.erase(name); sourceModules.erase(next);
const std::vector<ModuleName>& dependents = reverseDeps[name]; const std::vector<ModuleName>& dependents = reverseDeps[next];
queue.insert(queue.end(), dependents.begin(), dependents.end()); queue.insert(queue.end(), dependents.begin(), dependents.end());
} }
} }

View file

@ -517,7 +517,7 @@ TEST_CASE_FIXTURE(FrontendFixture, "recheck_if_dependent_script_is_dirty")
CHECK_EQ("{| b_value: string |}", toString(*bExports)); 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/A"] = "return {hello=5, world=true}";
fileResolver.source["game/Gui/Modules/B"] = R"( fileResolver.source["game/Gui/Modules/B"] = R"(