[FIR] Properly load isExpect flag for constructors

^KT-57635 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-03-28 20:41:56 +03:00
committed by Space Team
parent 88d61173b6
commit b2e03035a9
4 changed files with 12 additions and 2 deletions
@@ -571,7 +571,9 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
Modality.FINAL, Modality.FINAL,
visibility.toEffectiveVisibility(classBuilder.symbol) visibility.toEffectiveVisibility(classBuilder.symbol)
).apply { ).apply {
isExpect = Flags.IS_EXPECT_FUNCTION.get(flags) // We don't store information about expect modifier on constructors
// It is inherited from containing class
isExpect = Flags.IS_EXPECT_CLASS.get(classProto.flags)
hasStableParameterNames = !Flags.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES.get(flags) hasStableParameterNames = !Flags.IS_CONSTRUCTOR_WITH_NON_STABLE_PARAMETER_NAMES.get(flags)
isActual = false isActual = false
isOverride = false isOverride = false
@@ -53,7 +53,7 @@ class CustomK2Tests : KGPBaseTest() {
} }
@GradleTest @GradleTest
@DisplayName("HMPP compilation without JS target. KT-57376") @DisplayName("HMPP compilation without JS target. KT-57376, KT-57635")
fun testHmppCompilationWithoutJsTarget(gradleVersion: GradleVersion) { fun testHmppCompilationWithoutJsTarget(gradleVersion: GradleVersion) {
with(project("k2-mpp-without-js", gradleVersion)) { with(project("k2-mpp-without-js", gradleVersion)) {
val taskToExecute = ":compileIntermediateMainKotlinMetadata" val taskToExecute = ":compileIntermediateMainKotlinMetadata"
@@ -0,0 +1,4 @@
// ISSUE: KT-57635
package kt57635
actual class A actual constructor()