commit | 05d44cec3cfb4f529136483ae0a0f532042c1aab | [log] [tgz] |
---|---|---|
author | Nikita Bobko <nikita.bobko@jetbrains.com> | Tue Jun 04 19:12:37 2024 +0200 |
committer | Nikita Bobko <nikita.bobko@jetbrains.com> | Thu Jun 06 12:04:30 2024 +0200 |
tree | 5457e645d332c5c08fbc300c276e67e1a1e679d1 | |
parent | f8ce6c74f4c05c2c4f07296d5af0542268372bc8 [diff] |
[IR] 2/2 Fix bug: IR didn't match private expect constructor with appropriate actual ^KT-68798 Fixed Review: https://jetbrains.team/p/kt/reviews/16358/timeline (cherry picked from commit 7734235f2af26e8662b9870b3a26a90ace4b0c13)
diff --git a/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/mpp/AbstractExpectActualChecker.kt b/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/mpp/AbstractExpectActualChecker.kt index d6a7a11..40b8d5e 100644 --- a/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/mpp/AbstractExpectActualChecker.kt +++ b/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/mpp/AbstractExpectActualChecker.kt
@@ -183,7 +183,8 @@ val actualMembersByName = actualClassSymbol.collectAllMembers(isActualDeclaration = true).groupBy { nameOf(it) } val expectMembers = expectClassSymbol.collectAllMembers(isActualDeclaration = false) - .filterNot { it is CallableSymbolMarker && it.visibility == Visibilities.Private } + // private expect constructors are yet allowed KT-68688 + .filterNot { it is CallableSymbolMarker && it !is ConstructorSymbolMarker && it.visibility == Visibilities.Private } for (expectMember in expectMembers) { val actualMembers = getPossibleActualsByExpectName(expectMember, actualMembersByName)
diff --git a/compiler/testData/codegen/box/multiplatform/k2/privateConstructorWithDefaults.kt b/compiler/testData/codegen/box/multiplatform/k2/privateConstructorWithDefaults.kt index 164fed9..6174483 100644 --- a/compiler/testData/codegen/box/multiplatform/k2/privateConstructorWithDefaults.kt +++ b/compiler/testData/codegen/box/multiplatform/k2/privateConstructorWithDefaults.kt
@@ -1,4 +1,5 @@ -// IGNORE_BACKEND: ANY +// IGNORE_BACKEND: WASM +// Ignore wasm because KT-68828 // LANGUAGE: +MultiPlatformProjects // ISSUE: KT-68798