[IR] Add more tests for inline/value classes secondary constructors

Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-55333
This commit is contained in:
Evgeniy.Zhelenskiy
2023-04-12 00:59:14 +02:00
committed by Space Team
parent f75b72990e
commit 8c748bfea4
52 changed files with 909 additions and 31 deletions
@@ -575,6 +575,22 @@ public class FirPsiOldDiagnosticsTestWithJvmIrBackendGenerated extends AbstractF
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses")
@TestDataPath("$PROJECT_ROOT")
public class InlineClasses {
@Test
public void testAllFilesPresentInInlineClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("declarationClash.kt")
public void testDeclarationClash() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -824,6 +840,22 @@ public class FirPsiOldDiagnosticsTestWithJvmIrBackendGenerated extends AbstractF
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits_old.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses")
@TestDataPath("$PROJECT_ROOT")
public class ValueClasses {
@Test
public void testAllFilesPresentInValueClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("declarationClash.kt")
public void testDeclarationClash() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt");
}
}
}
@Nested
@@ -22991,6 +22991,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -43603,6 +43615,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/primaryValOfInlineClass.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("simpleConstructorWithInlineClassParameter.kt")
public void testSimpleConstructorWithInlineClassParameter() throws Exception {
@@ -43925,6 +43943,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/properties.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("suspendFunction.kt")
public void testSuspendFunction() throws Exception {
@@ -52181,6 +52205,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/valueClasses/mutableSharedMfvcVar.kt");
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrides.kt")
public void testOverrides() throws Exception {
@@ -52205,6 +52241,30 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/valueClasses/regularClassSecondaryConstructorWithMfvc.kt");
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVarargGeneric.kt")
public void testSecondaryConstructorWithVarargGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorsWithBody.kt")
public void testSecondaryConstructorsWithBody() throws Exception {
@@ -2571,5 +2571,11 @@ public class FirLightTreeBytecodeListingTestGenerated extends AbstractFirLightTr
public void testAnnotations() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/annotations.kt");
}
@Test
@TestMetadata("nullabilityAnnotationsOnInlineClassMembers.kt")
public void testNullabilityAnnotationsOnInlineClassMembers() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/nullabilityAnnotationsOnInlineClassMembers.kt");
}
}
}
@@ -22991,6 +22991,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -43603,6 +43615,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/primaryValOfInlineClass.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("simpleConstructorWithInlineClassParameter.kt")
public void testSimpleConstructorWithInlineClassParameter() throws Exception {
@@ -43925,6 +43943,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/properties.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("suspendFunction.kt")
public void testSuspendFunction() throws Exception {
@@ -52181,6 +52205,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/valueClasses/mutableSharedMfvcVar.kt");
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrides.kt")
public void testOverrides() throws Exception {
@@ -52205,6 +52241,30 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/valueClasses/regularClassSecondaryConstructorWithMfvc.kt");
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVarargGeneric.kt")
public void testSecondaryConstructorWithVarargGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorsWithBody.kt")
public void testSecondaryConstructorsWithBody() throws Exception {
@@ -2571,5 +2571,11 @@ public class FirPsiBytecodeListingTestGenerated extends AbstractFirPsiBytecodeLi
public void testAnnotations() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/annotations.kt");
}
@Test
@TestMetadata("nullabilityAnnotationsOnInlineClassMembers.kt")
public void testNullabilityAnnotationsOnInlineClassMembers() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/nullabilityAnnotationsOnInlineClassMembers.kt");
}
}
}
@@ -126,7 +126,7 @@ abstract class AnnotationCodegen(
if (declaration is IrValueParameter) {
val parent = declaration.parent as IrDeclaration
if (isInvisibleForNullabilityAnalysis(parent)) return
if (isMovedReceiverParameterOfStaticInlineClassReplacement(declaration, parent)) return
if (isMovedReceiverParameterOfStaticValueClassReplacement(declaration, parent)) return
}
// No need to annotate annotation methods since they're always non-null
@@ -165,8 +165,8 @@ abstract class AnnotationCodegen(
generateAnnotationIfNotPresent(annotationDescriptorsAlreadyPresent, annotationClass)
}
private fun isMovedReceiverParameterOfStaticInlineClassReplacement(parameter: IrValueParameter, parent: IrDeclaration): Boolean =
parent.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT &&
private fun isMovedReceiverParameterOfStaticValueClassReplacement(parameter: IrValueParameter, parent: IrDeclaration): Boolean =
(parent.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT || parent.origin == JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_REPLACEMENT) &&
parameter.origin == IrDeclarationOrigin.MOVED_DISPATCH_RECEIVER
private fun generateAnnotationIfNotPresent(annotationDescriptorsAlreadyPresent: MutableSet<String>, annotationClass: Class<*>) {
@@ -12,8 +12,10 @@ import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
import org.jetbrains.kotlin.backend.jvm.JvmLoweredStatementOrigin
import org.jetbrains.kotlin.backend.jvm.ir.getJvmVisibilityOfDefaultArgumentStub
import org.jetbrains.kotlin.ir.builders.*
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrConstructor
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
import org.jetbrains.kotlin.ir.util.isFinalClass
import org.jetbrains.kotlin.ir.util.isTopLevelDeclaration
@@ -21,7 +23,9 @@ class JvmDefaultArgumentStubGenerator(override val context: JvmBackendContext) :
override fun defaultArgumentStubVisibility(function: IrFunction) = function.getJvmVisibilityOfDefaultArgumentStub()
override fun useConstructorMarker(function: IrFunction): Boolean =
function is IrConstructor || function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR
function is IrConstructor ||
function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR ||
function.origin == JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_CONSTRUCTOR
override fun IrBlockBodyBuilder.generateSuperCallHandlerCheckIfNeeded(
irFunction: IrFunction,
@@ -31,8 +31,11 @@ class JvmDefaultParameterInjector(context: JvmBackendContext) :
override fun defaultArgumentStubVisibility(function: IrFunction) = function.getJvmVisibilityOfDefaultArgumentStub()
override fun useConstructorMarker(function: IrFunction): Boolean =
function is IrConstructor || function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR
function is IrConstructor ||
function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR ||
function.origin == JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_CONSTRUCTOR
override fun isStatic(function: IrFunction): Boolean =
function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT
function.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT ||
function.origin == JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_REPLACEMENT
}
@@ -126,6 +126,7 @@ class MethodSignatureMapper(private val context: JvmBackendContext, private val
private fun IrSimpleFunction.getInternalFunctionForManglingIfNeeded(): IrSimpleFunction? {
if (visibility == DescriptorVisibilities.INTERNAL &&
origin != JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_CONSTRUCTOR &&
origin != JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_CONSTRUCTOR &&
origin != JvmLoweredDeclarationOrigin.SYNTHETIC_METHOD_FOR_PROPERTY_OR_TYPEALIAS_ANNOTATIONS &&
origin != IrDeclarationOrigin.PROPERTY_DELEGATE &&
!isPublishedApi()
@@ -446,7 +447,10 @@ class MethodSignatureMapper(private val context: JvmBackendContext, private val
findSuperDeclaration(function, isSuperCall, context.state.jvmDefaultMode)
private fun getJvmMethodNameIfSpecial(irFunction: IrSimpleFunction): String? {
if (irFunction.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT) {
if (
irFunction.origin == JvmLoweredDeclarationOrigin.STATIC_INLINE_CLASS_REPLACEMENT ||
irFunction.origin == JvmLoweredDeclarationOrigin.STATIC_MULTI_FIELD_VALUE_CLASS_REPLACEMENT
) {
return null
}
@@ -0,0 +1,22 @@
// LANGUAGE: +MultiPlatformProjects
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MODULE: common
// TARGET_PLATFORM: Common
// FILE: expect.kt
expect value class ExpectValue(val x: String) {
constructor(x: Int)
}
// MODULE: main()()(common)
// TARGET_PLATFORM: JVM
// FILE: actual.kt
@JvmInline
actual value class ExpectValue actual constructor(actual val x: String) {
actual constructor(x: Int) : this(if (x == 42) "OK" else "Not OK: $x")
}
fun box() = ExpectValue(42).x
@@ -0,0 +1,23 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
public constructor() : this(0)
internal constructor(x: Long, y: Int): this(x.toInt(), y.toInt())
private constructor(x: Int, y: Int): this(x + y)
}
fun box(): String {
val z1 = Z(111)
if (z1.x != 111) throw AssertionError()
val z2 = Z()
if (z2.x != 0) throw AssertionError()
val z3 = Z(2222L, 100)
if (z3.x != 2322) throw AssertionError()
return "OK"
}
@@ -9,12 +9,19 @@ val l = mutableListOf<Any>()
OPTIONAL_JVM_INLINE_ANNOTATION
value class VC(val x: Int) {
constructor(xD: Double): this(-xD.toInt()) {
constructor(xD: Double) : this(-xD.toInt()) {
l.add(xD)
l.add(x)
l.add(this)
l.add(xD.let { it - 1.0 }.let(fun(x: Double) = x - 1.0))
class Inner(val x: Int) {
constructor(x: Long): this(x.toInt()) {
l.add(x)
}
}
Inner(Long.MAX_VALUE)
}
init {
l.add(x)
l.add(this)
@@ -23,8 +30,8 @@ value class VC(val x: Int) {
fun box(): String {
val vc = VC(1)
require(vc == VC(-1.0)) { "$vc\n${VC(-1.0)}"}
val actual = listOf(1, vc, 1, vc, -1.0, 1, vc)
require(vc == VC(-1.0)) { "$vc\n${VC(-1.0)}" }
val actual = listOf(1, vc, 1, vc, -1.0, 1, vc, -3.0, Long.MAX_VALUE)
require(l == actual) { "$l\n$actual" }
return "OK"
}
@@ -7,11 +7,23 @@ public final class SecondaryConstructorsWithBodyKt {
public final static @org.jetbrains.annotations.NotNull method getL(): java.util.List
}
@kotlin.Metadata
public final class VC$Inner {
// source: 'secondaryConstructorsWithBody.kt'
enclosing method VC.constructor-impl(D)I
private final field x: int
inner (local) class VC$Inner Inner
public method <init>(p0: int): void
public method <init>(p0: long): void
public final method getX(): int
}
@kotlin.jvm.JvmInline
@kotlin.Metadata
public final class VC {
// source: 'secondaryConstructorsWithBody.kt'
private final field x: int
inner (local) class VC$Inner Inner
private synthetic method <init>(p0: int): void
public synthetic final static method box-impl(p0: int): VC
public static method constructor-impl(p0: double): int
@@ -0,0 +1,32 @@
// WITH_STDLIB
// WITH_REFLECT
// TARGET_BACKEND: JVM_IR
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.reflect.KVisibility
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int) {
public constructor() : this(0)
internal constructor(x: Long, y: Int): this(x.toInt(), y.toInt())
private constructor(x: Int, y: Int): this(x + y)
}
fun box(): String {
val z1 = Z(111)
if (z1.x != 111) throw AssertionError()
val z2 = Z()
if (z2.x != 0) throw AssertionError()
val z3 = Z(2222L, 100)
if (z3.x != 2322) throw AssertionError()
val constructors = Z::class.constructors
require(constructors.map { it.visibility!! }.sorted() == listOf(KVisibility.PUBLIC, KVisibility.PUBLIC, KVisibility.INTERNAL, KVisibility.PRIVATE).sorted()) {
constructors.map { it.visibility }.toString()
}
return "OK"
}
@@ -0,0 +1,36 @@
// WITH_STDLIB
// WITH_REFLECT
// LANGUAGE: +ValueClasses
// TARGET_BACKEND: JVM_IR
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
import kotlin.reflect.KVisibility
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int, val y: Int) {
public constructor() : this(0)
internal constructor(x: Long): this(x.toInt())
private constructor(x: Int): this(x, -x)
}
fun box(): String {
val z1 = Z(111, 222)
if (z1.x != 111) throw AssertionError()
if (z1.y != 222) throw AssertionError()
val z2 = Z()
if (z2.x != 0) throw AssertionError()
if (z2.y != 0) throw AssertionError()
val z3 = Z(2222L)
if (z3.x != 2222) throw AssertionError()
if (z3.y != -2222) throw AssertionError()
val constructors = Z::class.constructors
require(constructors.map { it.visibility!! }.sorted() == listOf(KVisibility.PUBLIC, KVisibility.PUBLIC, KVisibility.INTERNAL, KVisibility.PRIVATE).sorted()) {
constructors.map { it.visibility }.toString()
}
return "OK"
}
@@ -161,12 +161,12 @@ public final class SimpleMfvc {
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static @org.jetbrains.annotations.NotNull method getA3-ge5QAg4(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): SimpleMfvc
public final static method getA4-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): int
public final static @org.jetbrains.annotations.NotNull method getA3-ge5QAg4(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): SimpleMfvc
public final static method getA4-impl(p0: int, p1: int, p2: java.lang.String): int
public final static @org.jetbrains.annotations.NotNull method getB1-ge5QAg4(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB2-ge5QAg4(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB3-ge5QAg4(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB4-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB3-ge5QAg4(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB4-impl(p0: int, p1: int, p2: java.lang.String): SimpleMfvc
private final static method getPrivate1-ge5QAg4(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): SimpleMfvc
private final static method getPrivate2-ge5QAg4(p0: int, p1: int, p2: java.lang.String): SimpleMfvc
private final static method getPrivate2-ge5QAg4(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): SimpleMfvc
+4 -4
View File
@@ -191,11 +191,11 @@ public final class E {
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static @org.jetbrains.annotations.NotNull method getWithNonTrivialSetters-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): D
public final static @org.jetbrains.annotations.NotNull method getWithNonTrivialSetters-impl(p0: int, p1: int, p2: java.lang.String): D
public final @org.jetbrains.annotations.NotNull method getX(): D
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int
public final static method setWithNonTrivialSetters-j_b7x2A(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): void
public final static method setWithNonTrivialSetters-j_b7x2A(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): void
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
public static method toString-impl(p0: int, p1: int, p2: java.lang.String): java.lang.String
public synthetic final method unbox-impl-x(): D
@@ -300,9 +300,9 @@ public final class R {
public static method equals-impl(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List, p6: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List, p6: int, p7: int, p8: int, p9: int, p10: java.lang.String, p11: java.util.List): boolean
public @org.jetbrains.annotations.NotNull method getFakeOverrideMFVC(): R
public static @org.jetbrains.annotations.NotNull method getFakeOverrideMFVC-impl(p0: int, p1: int, p2: int, p3: int, @org.jetbrains.annotations.NotNull p4: java.lang.String, @org.jetbrains.annotations.NotNull p5: java.util.List): R
public static @org.jetbrains.annotations.NotNull method getFakeOverrideMFVC-impl(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List): R
public method getFakeOverrideRegular(): int
public static method getFakeOverrideRegular-impl(p0: int, p1: int, p2: int, p3: int, @org.jetbrains.annotations.NotNull p4: java.lang.String, @org.jetbrains.annotations.NotNull p5: java.util.List): int
public static method getFakeOverrideRegular-impl(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List): int
public final @org.jetbrains.annotations.NotNull method getT-GKOAj6k(): java.util.List
public final method getX(): int
public final method getY-pVg5ArA(): int
@@ -8,6 +8,8 @@
value class DPoint(/*inline */val x: Double/* = 1.0*/, /*inline */val y: Double/* = 2.0*/) {
fun f1(a: Int, b: Int = -1, c: DPoint = DPoint(-2.0, -3.0)) = listOf(this, x, y, a, b, c)
constructor(x: Double, flip: Boolean = false): this(x, if (flip) -x else x)
companion object {
inline operator fun invoke(): DPoint = DPoint(0.0, 0.0)
}
@@ -106,5 +108,9 @@ fun box(): String {
require(RegularObject.pointToString() == "DPoint(x=0.0, y=0.0)") { RegularObject.pointToString() }
require(getLineIntersectionPoint().toString() == "DPoint(x=0.0, y=0.0)") { getLineIntersectionPoint().toString() }
require(DPoint(1.0) == DPoint(1.0, 1.0)) { DPoint(1.0).toString() }
require(DPoint(1.0, flip = false) == DPoint(1.0, 1.0)) { DPoint(1.0, flip = false).toString() }
require(DPoint(1.0, flip = true) == DPoint(1.0, -1.0)) { DPoint(1.0, flip = true).toString() }
return "OK"
}
@@ -17,6 +17,8 @@ public final class DPoint {
static method <clinit>(): void
private synthetic method <init>(p0: double, p1: double): void
public synthetic final static method box-impl(p0: double, p1: double): DPoint
public synthetic static method constructor-impl$default(p0: double, p1: boolean, p2: int, p3: kotlin.jvm.internal.DefaultConstructorMarker): DPoint
public final static @org.jetbrains.annotations.NotNull method constructor-impl(p0: double, p1: boolean): DPoint
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
+1 -1
View File
@@ -79,7 +79,7 @@ public final class B {
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
public static @org.jetbrains.annotations.NotNull method toString-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, @org.jetbrains.annotations.NotNull p6: java.lang.String, p7: int, p8: int, @org.jetbrains.annotations.NotNull p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, @org.jetbrains.annotations.NotNull p16: java.lang.String, p17: int, p18: int, @org.jetbrains.annotations.NotNull p19: java.lang.String): java.lang.String
public static @org.jetbrains.annotations.NotNull method toString-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String): java.lang.String
public synthetic final method unbox-impl-a1(): A
public synthetic final method unbox-impl-a1-f1(): int
public synthetic final method unbox-impl-a1-f2(): int
@@ -13,7 +13,7 @@ public final class A {
public final @org.jetbrains.annotations.NotNull method getValue1(): MyClass
public final @org.jetbrains.annotations.NotNull method getValue2(): MyClass
public method hashCode(): int
public static method hashCode-impl(@org.jetbrains.annotations.NotNull p0: MyClass, @org.jetbrains.annotations.NotNull p1: MyClass): int
public static method hashCode-impl(p0: MyClass, p1: MyClass): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
public static method toString-impl(p0: MyClass, p1: MyClass): java.lang.String
public synthetic final method unbox-impl-value1(): MyClass
@@ -18,9 +18,9 @@ public final class MFVC1 {
public synthetic final static method box-impl(p0: java.lang.Number, p1: int): MFVC1
public final static method constructor-impl(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public final static method equals-impl(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, p2: int, p3: int): boolean
public final static method equals-impl(p0: java.lang.Number, p1: int, p2: int, p3: int): boolean
public static method equals-impl(p0: java.lang.Number, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Number, p3: int): boolean
public final static method equals-impl0(p0: java.lang.Number, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Number, p3: int): boolean
public final method getOther(): int
public final @org.jetbrains.annotations.NotNull method getX(): java.lang.Number
public method hashCode(): int
@@ -41,9 +41,9 @@ public final class MFVC2 {
public synthetic final static method box-impl(p0: Generic, p1: int): MFVC2
public final static method constructor-impl(@org.jetbrains.annotations.NotNull p0: Generic, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public final static method equals-7Pc2DFw(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, p2: double, p3: int, p4: int): boolean
public final static method equals-7Pc2DFw(p0: Generic, p1: int, p2: double, p3: int, p4: int): boolean
public static method equals-impl(p0: Generic, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, @org.jetbrains.annotations.NotNull p2: Generic, p3: int): boolean
public final static method equals-impl0(p0: Generic, p1: int, @org.jetbrains.annotations.NotNull p2: Generic, p3: int): boolean
public final method getOther(): int
public final @org.jetbrains.annotations.NotNull method getValue(): Generic
public method hashCode(): int
@@ -0,0 +1,31 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
// Depends on KT-57973
// JVM_TARGET: 1.8
interface Path {
fun dispatch(maxDepth: Int = 42)
fun Int.extension(maxDepth: Int = 42)
}
OPTIONAL_JVM_INLINE_ANNOTATION
value class RealPath(val x: Int, val y: Int) : Path {
override fun dispatch(maxDepth: Int) = Unit
fun childrenDispatch(recursively: Boolean): Unit =
if (recursively) dispatch() else dispatch()
override fun Int.extension(maxDepth: Int) = Unit
fun Int.childrenExtension(recursively: Boolean): Unit =
if (recursively) extension() else extension()
}
fun box(): String {
RealPath(1, 2)
return "OK"
}
@@ -0,0 +1,31 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
// Depends on KT-57973
// JVM_TARGET: 1.8
interface Path {
fun dispatch(maxDepth: Int = 42)
fun Int.extension(maxDepth: Int = 42)
}
OPTIONAL_JVM_INLINE_ANNOTATION
value class RealPath<T: Int>(val x: T, val y: T) : Path {
override fun dispatch(maxDepth: Int) = Unit
fun childrenDispatch(recursively: Boolean): Unit =
if (recursively) dispatch() else dispatch()
override fun Int.extension(maxDepth: Int) = Unit
fun Int.childrenExtension(recursively: Boolean): Unit =
if (recursively) extension() else extension()
}
fun box(): String {
RealPath(1, 2)
return "OK"
}
@@ -0,0 +1,22 @@
// LANGUAGE: +MultiPlatformProjects, +ValueClasses
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MODULE: common
// TARGET_PLATFORM: Common
// FILE: expect.kt
expect value class ExpectValue(val x: String, val y: String) {
constructor(x: Int, y: Int)
}
// MODULE: main()()(common)
// TARGET_PLATFORM: JVM
// FILE: actual.kt
@JvmInline
actual value class ExpectValue actual constructor(actual val x: String, actual val y: String) {
actual constructor(x: Int, y: Int) : this(if (x == 42) "O" else "Not OK: $x\n", if (y == -42) "K" else "Not OK: $y")
}
fun box() = ExpectValue(42, -42).run { x + y }
@@ -0,0 +1,28 @@
// WITH_STDLIB
// LANGUAGE: +ValueClasses
// TARGET_BACKEND: JVM_IR
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int, val y: Int) {
public constructor() : this(0)
internal constructor(x: Long): this(x.toInt())
private constructor(x: Int): this(x, -x)
}
fun box(): String {
val z1 = Z(111, 222)
if (z1.x != 111) throw AssertionError()
if (z1.y != 222) throw AssertionError()
val z2 = Z()
if (z2.x != 0) throw AssertionError()
if (z2.y != 0) throw AssertionError()
val z3 = Z(2222L)
if (z3.x != 2222) throw AssertionError()
if (z3.y != -2222) throw AssertionError()
return "OK"
}
@@ -0,0 +1,26 @@
// WITH_STDLIB
// LANGUAGE: +ValueClasses
// TARGET_BACKEND: JVM_IR
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int, val y: Int) {
constructor(vararg ys: Long) : this(ys.size, -ys.size)
}
fun box(): String {
val z1 = Z(111, 222)
if (z1.x != 111) throw AssertionError()
if (z1.y != 222) throw AssertionError()
val z2 = Z()
if (z2.x != 0) throw AssertionError()
if (z2.y != 0) throw AssertionError()
val z3 = Z(2222L)
if (z3.x != 1) throw AssertionError()
if (z3.y != -1) throw AssertionError()
return "OK"
}
@@ -0,0 +1,25 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// TARGET_BACKEND: JVM_IR
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z<T: Int>(val x: T, val y: T) {
constructor(vararg ys: Long) : this(ys.size as T, -ys.size as T)
}
fun box(): String {
// val z1 = Z<Int>(111, 222) OVERLOAD_RESOLUTION_AMBIGUITY
// if (z1.x != 111) throw AssertionError()
// if (z1.y != 222) throw AssertionError()
val z2 = Z<Int>()
if (z2.x != 0) throw AssertionError()
if (z2.y != 0) throw AssertionError()
val z3 = Z<Int>(2222L)
if (z3.x != 1) throw AssertionError()
if (z3.y != -1) throw AssertionError()
return "OK"
}
@@ -8,14 +8,21 @@ val l = mutableListOf<Any>()
@JvmInline
value class VC(val x: Int, val y: ULong) {
constructor(xD: Double, yD: Double): this(xD.toInt() - 2, yD.toULong() - 2UL) {
constructor(xD: Double, yD: Double) : this(xD.toInt() - 2, yD.toULong() - 2UL) {
l.add(xD)
l.add(yD)
l.add(x)
l.add(y)
l.add(this)
l.add(xD.let { it - 1.0 }.let(fun(x: Double) = x - 1.0))
class Inner(val x: Int) {
constructor(x: Long) : this(x.toInt()) {
l.add(x)
}
}
Inner(Long.MAX_VALUE)
}
init {
l.add(x)
l.add(y)
@@ -25,8 +32,8 @@ value class VC(val x: Int, val y: ULong) {
fun box(): String {
val vc = VC(1, 2UL)
require(vc == VC(3.0, 4.0)) { "$vc\n${VC(3.0, 4.0)}"}
val actual = listOf(1, 2UL, vc, 1, 2UL, vc, 3.0, 4.0, 1, 2UL, vc)
require(vc == VC(3.0, 4.0)) { "$vc\n${VC(3.0, 4.0)}" }
val actual = listOf(1, 2UL, vc, 1, 2UL, vc, 3.0, 4.0, 1, 2UL, vc, 1.0, Long.MAX_VALUE)
require(l == actual) { "$l\n$actual" }
return "OK"
}
@@ -7,12 +7,24 @@ public final class SecondaryConstructorsWithBodyKt {
public final static @org.jetbrains.annotations.NotNull method getL(): java.util.List
}
@kotlin.Metadata
public final class VC$Inner {
// source: 'secondaryConstructorsWithBody.kt'
enclosing method VC.constructor-impl(DD)LVC;
private final field x: int
inner (local) class VC$Inner Inner
public method <init>(p0: int): void
public method <init>(p0: long): void
public final method getX(): int
}
@kotlin.jvm.JvmInline
@kotlin.Metadata
public final class VC {
// source: 'secondaryConstructorsWithBody.kt'
private final field x: int
private final field y: long
inner (local) class VC$Inner Inner
private synthetic method <init>(p0: int, p1: long): void
public synthetic final static method box-impl(p0: int, p1: long): VC
public final static @org.jetbrains.annotations.NotNull method constructor-impl(p0: double, p1: double): VC
@@ -0,0 +1,26 @@
// TARGET_BACKEND: JVM_IR
// LANGUAGE: +ValueClasses
// WITH_STDLIB
@JvmInline
value class Test(val s: String, val s1: String) {
fun memberFun(x: String) = s
fun String.memberExtFun() = s
val memberVal
get() = s
val String.memberExtVal
get() = s
var memberVar
get() = s
set(value) {}
var String.memberExtVar
get() = s
set(value) {}
}
@@ -0,0 +1,29 @@
@kotlin.jvm.JvmInline
@kotlin.Metadata
public final class Test {
// source: 'nullabilityAnnotationsOnInlineClassMembers.kt'
private final @org.jetbrains.annotations.NotNull field s1: java.lang.String
private final @org.jetbrains.annotations.NotNull field s: java.lang.String
private synthetic method <init>(p0: java.lang.String, p1: java.lang.String): void
public synthetic final static method box-impl(p0: java.lang.String, p1: java.lang.String): Test
public final static method constructor-impl(@org.jetbrains.annotations.NotNull p0: java.lang.String, @org.jetbrains.annotations.NotNull p1: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.String, p1: java.lang.String, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.String, p1: java.lang.String, p2: java.lang.String, p3: java.lang.String): boolean
public final static @org.jetbrains.annotations.NotNull method getMemberExtVal-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method getMemberExtVar-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method getMemberVal-impl(p0: java.lang.String, p1: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method getMemberVar-impl(p0: java.lang.String, p1: java.lang.String): java.lang.String
public final @org.jetbrains.annotations.NotNull method getS(): java.lang.String
public final @org.jetbrains.annotations.NotNull method getS1(): java.lang.String
public method hashCode(): int
public static method hashCode-impl(p0: java.lang.String, p1: java.lang.String): int
public final static @org.jetbrains.annotations.NotNull method memberExtFun-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String): java.lang.String
public final static @org.jetbrains.annotations.NotNull method memberFun-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String): java.lang.String
public final static method setMemberExtVar-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String, @org.jetbrains.annotations.NotNull p3: java.lang.String): void
public final static method setMemberVar-impl(p0: java.lang.String, p1: java.lang.String, @org.jetbrains.annotations.NotNull p2: java.lang.String): void
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
public static method toString-impl(p0: java.lang.String, p1: java.lang.String): java.lang.String
public synthetic final method unbox-impl-s(): java.lang.String
public synthetic final method unbox-impl-s1(): java.lang.String
}
@@ -0,0 +1,11 @@
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
@JvmInline
value class A<!CONFLICTING_JVM_DECLARATIONS!>(val x: Int)<!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: UInt)<!>: this(x.toInt())
}
data class B<!CONFLICTING_JVM_DECLARATIONS!>(val x: UInt)<!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: Int)<!> : this(x.toUInt())
}
@@ -0,0 +1,11 @@
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
@JvmInline
value class <!CONFLICTING_JVM_DECLARATIONS!>A(val x: Int)<!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: UInt)<!>: this(x.toInt())
}
data class <!CONFLICTING_JVM_DECLARATIONS!>B(val x: UInt)<!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: Int)<!> : this(x.toUInt())
}
@@ -0,0 +1,14 @@
// !LANGUAGE: +ValueClasses
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
@JvmInline
value class A(val x: Int, val y: Int) {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(other: A)<!>: this(other.x, other.y)
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: UInt, y: UInt)<!>: this(x.toInt(), y.toInt())
}
data class <!CONFLICTING_JVM_DECLARATIONS!>B<!CONFLICTING_JVM_DECLARATIONS!>(val x: UInt, val y: UInt)<!><!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(other: A)<!> : this(other.x, other.y)
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: Int, y: Int)<!> : this(x.toUInt(), y.toUInt())
}
@@ -0,0 +1,14 @@
// !LANGUAGE: +ValueClasses
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
@JvmInline
value class A(val x: Int, val y: Int) {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(other: A)<!>: this(other.x, other.y)
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: UInt, y: UInt)<!>: this(x.toInt(), y.toInt())
}
data class <!CONFLICTING_JVM_DECLARATIONS, CONFLICTING_JVM_DECLARATIONS!>B(val x: UInt, val y: UInt)<!> {
<!CONFLICTING_JVM_DECLARATIONS!>constructor(other: A)<!> : this(other.x, other.y)
<!CONFLICTING_JVM_DECLARATIONS!>constructor(x: Int, y: Int)<!> : this(x.toUInt(), y.toUInt())
}
@@ -474,6 +474,22 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses")
@TestDataPath("$PROJECT_ROOT")
public class InlineClasses {
@Test
public void testAllFilesPresentInInlineClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses"), Pattern.compile("^(.+)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("declarationClash.kt")
public void testDeclarationClash() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -651,6 +667,22 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits_ir.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses")
@TestDataPath("$PROJECT_ROOT")
public class ValueClasses {
@Test
public void testAllFilesPresentInValueClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses"), Pattern.compile("^(.+)\\.kts?$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("declarationClash.kt")
public void testDeclarationClash() throws Exception {
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt");
}
}
}
@Nested
@@ -468,6 +468,16 @@ public class DiagnosticsTestWithOldJvmBackendGenerated extends AbstractDiagnosti
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses")
@TestDataPath("$PROJECT_ROOT")
public class InlineClasses {
@Test
public void testAllFilesPresentInInlineClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_OLD, true);
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames")
@TestDataPath("$PROJECT_ROOT")
@@ -645,6 +655,16 @@ public class DiagnosticsTestWithOldJvmBackendGenerated extends AbstractDiagnosti
runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits_old.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses")
@TestDataPath("$PROJECT_ROOT")
public class ValueClasses {
@Test
public void testAllFilesPresentInValueClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), TargetBackend.JVM_OLD, true);
}
}
}
@Nested
@@ -21983,6 +21983,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -49474,6 +49480,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInValueClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/valueClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
}
@Nested
@@ -22991,6 +22991,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -43603,6 +43615,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/primaryValOfInlineClass.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("simpleConstructorWithInlineClassParameter.kt")
public void testSimpleConstructorWithInlineClassParameter() throws Exception {
@@ -43925,6 +43943,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/properties.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("suspendFunction.kt")
public void testSuspendFunction() throws Exception {
@@ -52181,6 +52205,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/valueClasses/mutableSharedMfvcVar.kt");
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrides.kt")
public void testOverrides() throws Exception {
@@ -52205,6 +52241,30 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/valueClasses/regularClassSecondaryConstructorWithMfvc.kt");
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVarargGeneric.kt")
public void testSecondaryConstructorWithVarargGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorsWithBody.kt")
public void testSecondaryConstructorsWithBody() throws Exception {
@@ -22991,6 +22991,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -43603,6 +43615,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/primaryValOfInlineClass.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("simpleConstructorWithInlineClassParameter.kt")
public void testSimpleConstructorWithInlineClassParameter() throws Exception {
@@ -43925,6 +43943,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/properties.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/reflection/call/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("suspendFunction.kt")
public void testSuspendFunction() throws Exception {
@@ -52181,6 +52205,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/valueClasses/mutableSharedMfvcVar.kt");
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("overrides.kt")
public void testOverrides() throws Exception {
@@ -52205,6 +52241,30 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/valueClasses/regularClassSecondaryConstructorWithMfvc.kt");
}
@Test
@TestMetadata("secondaryConstructorExpectActual.kt")
public void testSecondaryConstructorExpectActual() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorExpectActual.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorWithVarargGeneric.kt")
public void testSecondaryConstructorWithVarargGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@Test
@TestMetadata("secondaryConstructorsWithBody.kt")
public void testSecondaryConstructorsWithBody() throws Exception {
@@ -2571,5 +2571,11 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes
public void testAnnotations() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/annotations.kt");
}
@Test
@TestMetadata("nullabilityAnnotationsOnInlineClassMembers.kt")
public void testNullabilityAnnotationsOnInlineClassMembers() throws Exception {
runTest("compiler/testData/codegen/bytecodeListing/valueClasses/nullabilityAnnotationsOnInlineClassMembers.kt");
}
}
}
@@ -18335,6 +18335,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
@@ -40268,9 +40273,23 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
}
private void runTest(String testDataFilePath, java.util.function.Function<String, String> transformer) throws Exception {
KotlinTestUtils.runTest(path -> doTestWithTransformer(path, transformer), TargetBackend.JVM, testDataFilePath);
}
public void testAllFilesPresentInValueClasses() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/valueClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
}
@TestMetadata("overrideFunctionWithDefaultParameter.kt")
public void testOverrideFunctionWithDefaultParameter() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameter.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
@TestMetadata("overrideFunctionWithDefaultParameterGeneric.kt")
public void testOverrideFunctionWithDefaultParameterGeneric() throws Exception {
runTest("compiler/testData/codegen/box/valueClasses/overrideFunctionWithDefaultParameterGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal());
}
}
@TestMetadata("compiler/testData/codegen/box/vararg")
@@ -17317,6 +17317,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17335,6 +17335,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17335,6 +17335,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17335,6 +17335,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17368,6 +17368,7 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
register("compiler/testData/codegen/box/inlineClasses/safeAsOfTypeParameterWithInlineClassBoundGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModule.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorsInsideInlineClass.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
@@ -19490,6 +19491,13 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
// There is a registered source transformer for the testcase: TransformersFunctions.getRemoveOptionalJvmInlineAnnotation()
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt");
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17752,6 +17752,7 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
register("compiler/testData/codegen/box/inlineClasses/safeAsOfTypeParameterWithInlineClassBoundGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModule.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorsInsideInlineClass.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
@@ -19874,6 +19875,13 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
// There is a registered source transformer for the testcase: TransformersFunctions.getRemoveOptionalJvmInlineAnnotation()
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt");
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17176,6 +17176,7 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
register("compiler/testData/codegen/box/inlineClasses/safeAsOfTypeParameterWithInlineClassBoundGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModule.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorsInsideInlineClass.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
@@ -19298,6 +19299,13 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
// There is a registered source transformer for the testcase: TransformersFunctions.getRemoveOptionalJvmInlineAnnotation()
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt");
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -17560,6 +17560,7 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
register("compiler/testData/codegen/box/inlineClasses/safeAsOfTypeParameterWithInlineClassBoundGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModule.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVarargGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
register("compiler/testData/codegen/box/inlineClasses/secondaryConstructorsInsideInlineClass.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
@@ -19682,6 +19683,13 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt");
}
@Test
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
// There is a registered source transformer for the testcase: TransformersFunctions.getRemoveOptionalJvmInlineAnnotation()
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt");
}
@Test
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
@@ -15325,6 +15325,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/inlineClasses/samWrapperDifferentModuleGeneric.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@TestMetadata("secondaryConstructorVisibilies.kt")
public void testSecondaryConstructorVisibilies() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorVisibilies.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());
}
@TestMetadata("secondaryConstructorWithVararg.kt")
public void testSecondaryConstructorWithVararg() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/secondaryConstructorWithVararg.kt", TransformersFunctions.getRemoveOptionalJvmInlineAnnotation());