[JS IR] Trigger klib rebuild after removing a dependency

^KT-50503 Fixed
This commit is contained in:
Alexander Korepanov
2022-09-07 19:50:07 +02:00
committed by Space
parent 1464f33c5d
commit 09add47777
10 changed files with 86 additions and 2 deletions
@@ -16,6 +16,8 @@ class DirtyFilesContainer(
) {
private val myDirtyFiles = HashSet<File>()
fun isEmpty() = myDirtyFiles.isEmpty()
fun toMutableLinkedSet(): LinkedHashSet<File> =
LinkedHashSet(myDirtyFiles)
@@ -51,4 +53,4 @@ class DirtyFilesContainer(
// reason is null, because files are reported in mapClassesFqNamesToFiles
add(dirtyFilesFromFqNames, reason = null)
}
}
}
@@ -153,6 +153,10 @@ class IncrementalJsCompilerRunner(
dirtyFiles.addByDirtySymbols(removedClassesChanges.dirtyLookupSymbols)
dirtyFiles.addByDirtyClasses(removedClassesChanges.dirtyClassesFqNames)
dirtyFiles.addByDirtyClasses(removedClassesChanges.dirtyClassesFqNamesForceRecompile)
if (dirtyFiles.isEmpty() && changedFiles.removed.isNotEmpty()) {
return CompilationMode.Rebuild(BuildAttribute.DEP_CHANGE_REMOVED_ENTRY)
}
return CompilationMode.Incremental(dirtyFiles)
}
@@ -259,4 +263,4 @@ class IncrementalJsCompilerRunner(
return newDirtySources.isNotEmpty()
}
}
}
}