Skip to content

Commit 0075ea7

Browse files
lunakolySpace Team
authored andcommitted
[Commonizer] Don't commonize members of Any into expect classes
K2 doesn't write them to metadata (but does for non-`expect`s, though!). See: `ClassifierCommonizationFromSourcesTest.testClassKindAndModifiers`.
1 parent f834469 commit 0075ea7

File tree

5 files changed

+6
-2
lines changed

5 files changed

+6
-2
lines changed

native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirClass.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.descriptors.Visibility
1212
interface CirClass : CirClassifier, CirContainingClass, AnyClass {
1313
var companion: CirName? // null means no companion object
1414
val isCompanion: Boolean
15-
val isValue: Boolean
1615
val isInner: Boolean
1716
val hasEnumEntries: Boolean
1817
val supertypes: List<CirType>

native/commonizer/src/org/jetbrains/kotlin/commonizer/cir/CirDeclaration.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,11 @@ interface CirMaybeCallableMemberOfClass {
5555
interface CirContainingClass : CirHasModality {
5656
val kind: ClassKind
5757
val isData: Boolean
58+
val isValue: Boolean
5859
}
5960

61+
val CirContainingClass.isDataOrValue: Boolean get() = isData || isValue
62+
6063
interface CirHasTypeParameters {
6164
val typeParameters: List<CirTypeParameter>
6265
}

native/commonizer/src/org/jetbrains/kotlin/commonizer/core/AbstractFunctionOrPropertyCommonizer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class FunctionOrPropertyBaseCommonizer(
4343
}
4444

4545
// synthesized members of data classes should not be commonized
46-
if (values.any { value -> value.kind == SYNTHESIZED && value.containingClass?.isData == true }) {
46+
if (values.any { value -> value.kind == SYNTHESIZED && value.containingClass?.isDataOrValue == true }) {
4747
return null
4848
}
4949

native/commonizer/src/org/jetbrains/kotlin/commonizer/core/ClassConstructorCommonizer.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class ClassConstructorCommonizer(
5353
override val modality get() = Modality.FINAL
5454
override val kind get() = ClassKind.CLASS
5555
override val isData get() = false
56+
override val isValue: Boolean get() = false
5657
}
5758
}
5859
}

native/commonizer/tests/org/jetbrains/kotlin/commonizer/core/LoweringVisibilityCommonizerTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ abstract class LoweringVisibilityCommonizerTest(
5959
override val modality get() = Modality.OPEN
6060
override val kind get() = ClassKind.CLASS
6161
override val isData get() = false
62+
override val isValue get() = false
6263
} else null
6364
override val extensionReceiver get() = unsupported()
6465
override val returnType get() = unsupported()

0 commit comments

Comments
 (0)