K2 IC: fix member lookup recording

The previous code recorded only class name, instead of fqname,
as a scope of lookup.

#KT-65943 fixed
#KTIJ-24828 fixed
related to #KT-56197
This commit is contained in:
Ilya Chernikov
2024-02-21 16:33:18 +01:00
committed by Space Team
parent f38dc3999c
commit 5b62558798
35 changed files with 269 additions and 208 deletions
@@ -142,13 +142,6 @@ abstract class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilati
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
doTestLibClassBecameFinal(gradleVersion, impactedClassInAppIsRecompiled = false)
}
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
@GradleTest
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
}
}
@DisplayName("K/JS multi-project IC with disabled precise outputs backups")
@@ -158,6 +151,13 @@ abstract class IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT : Incr
class IncrementalCompilationK1JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
@GradleTest
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
}
}
class IncrementalCompilationK2JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
@@ -171,6 +171,13 @@ class IncrementalCompilationK2JsMultiProject : IncrementalCompilationJsMultiProj
class IncrementalCompilationK1JsMultiProjectWithoutPreciseBackupIT : IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT() {
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
@GradleTest
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
// `impactedClassInAppIsRecompiled = false` for Kotlin/JS (KT-56197 was fixed for Kotlin/JVM only)
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
}
}
class IncrementalCompilationK2JsMultiProjectWithoutPreciseBackupIT : IncrementalCompilationJsMultiProjectWithoutPreciseBackupIT() {
@@ -509,13 +516,6 @@ open class IncrementalCompilationOldICJvmMultiProjectIT : IncrementalCompilation
// `impactedClassInAppIsRecompiled = false` for the old IC (KT-56197 was fixed for the new IC only)
doTestLibClassBecameFinal(gradleVersion, impactedClassInAppIsRecompiled = false)
}
@DisplayName("KT-56197: Change interface in lib which has subclass in app")
@GradleTest
override fun testChangeInterfaceInLib(gradleVersion: GradleVersion) {
// `impactedClassInAppIsRecompiled = false` for the old IC (KT-56197 was fixed for the new IC only)
doTestChangeInterfaceInLib(gradleVersion, impactedClassInAppIsRecompiled = false)
}
}
@DisplayName("K/JVM multi-project IC with disabled precise outputs backups and disabled classpath snapshots")