IC: Add IC test with fix on rename file with only class inside

"fails" on JS and JPS tests - the IC logic there is less precise.
This commit is contained in:
Ilya Chernikov
2022-01-14 15:59:55 +01:00
committed by teamcity
parent 3220900abe
commit 5abdf93d3b
20 changed files with 115 additions and 5 deletions
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.modules.TargetId
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
import org.jetbrains.org.objectweb.asm.commons.Method
import java.io.File
@@ -113,10 +112,11 @@ internal fun collectNewDirtySources(
withMetadataSerializer(metadata, data) { serializer ->
klass.acceptChildren(this, data)
serializer.serialize(metadata)?.let { (classProto, nameTable) ->
caches.platformCache.collectClassChangesByFeMetadata(
JvmClassName.byClassId(klass.classId),
caches.platformCache.saveFrontendClassToCache(
klass.classId,
classProto as ProtoBuf.Class,
nameTable,
null, // TODO: !!
changesCollector
)
}
@@ -577,6 +577,11 @@ public class IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated extends Abs
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -577,6 +577,11 @@ public class IncrementalFirJvmCompilerRunnerTestGenerated extends AbstractIncrem
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -577,6 +577,11 @@ public class IncrementalFirLightTreeJvmCompilerRunnerTestGenerated extends Abstr
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -576,6 +576,11 @@ public class IncrementalJsCompilerRunnerTestGenerated extends AbstractIncrementa
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -576,6 +576,11 @@ public class IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated extends Ab
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -576,6 +576,11 @@ public class IncrementalJsKlibCompilerRunnerTestGenerated extends AbstractIncrem
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -576,6 +576,11 @@ public class IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated exte
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -577,6 +577,11 @@ public class IncrementalJvmCompilerRunnerTestGenerated extends AbstractIncrement
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
@@ -577,6 +577,11 @@ public class IncrementalJvmOldBackendCompilerRunnerTestGenerated extends Abstrac
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
}
@TestMetadata("renameFileWithClassesOnly")
public void testRenameFileWithClassesOnly() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
}
@TestMetadata("renameFileWithFunctionOverload")
public void testRenameFileWithFunctionOverload() throws Exception {
runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");