[CHERRY PICKED FROM IJ] reduce classloading

GitOrigin-RevId: 6f8d704c8f2638624915b6eef0ed0889b4e5f0c2
Original commit: https://github.com/JetBrains/intellij-community/commit/f0ac55298015b4710ffb2dfbde5cec39235e0223
This commit is contained in:
Vladimir Krivosheev
2021-05-03 11:05:26 +02:00
committed by Nikita Bobko
parent f780b7b4f7
commit 9c0b617c7c
@@ -2,15 +2,13 @@
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
package org.jetbrains.kotlin.jps.targets package org.jetbrains.kotlin.jps.targets
import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.util.text.StringUtil
import com.intellij.openapi.vfs.StandardFileSystems import com.intellij.openapi.vfs.StandardFileSystems
import com.intellij.util.containers.ContainerUtil import com.intellij.util.containers.FileCollectionFactory
import com.intellij.util.io.URLUtil import com.intellij.util.io.URLUtil
import gnu.trove.THashSet
import org.jetbrains.jps.ModuleChunk import org.jetbrains.jps.ModuleChunk
import org.jetbrains.jps.builders.java.JavaBuilderUtil import org.jetbrains.jps.builders.java.JavaBuilderUtil
import org.jetbrains.jps.builders.storage.BuildDataPaths import org.jetbrains.jps.builders.storage.BuildDataPaths
@@ -356,7 +354,7 @@ class KotlinJvmModuleBuildTarget(kotlinContext: KotlinCompileContext, jpsModuleB
for (output in outputs) { for (output in outputs) {
if (output !is GeneratedJvmClass) continue if (output !is GeneratedJvmClass) continue
val sourceFiles = THashSet(FileUtil.FILE_HASHING_STRATEGY) val sourceFiles = FileCollectionFactory.createCanonicalFileSet()
sourceFiles.addAll(getOldSourceFiles(target, output)) sourceFiles.addAll(getOldSourceFiles(target, output))
sourceFiles.removeAll(targetDirtyFiles[target] ?: emptySet()) sourceFiles.removeAll(targetDirtyFiles[target] ?: emptySet())
sourceFiles.addAll(output.sourceFiles) sourceFiles.addAll(output.sourceFiles)