diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index 024d351daea1166d514ab10e9ec8bcd4a37c203b..aba6421a6375d85f7233156d0dab54b16a330953 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -15005,6 +15005,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt"); } + @Test + @TestMetadata("inlineClassDeprecated.kt") + public void testInlineClassDeprecated() throws Exception { + runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.kt"); + } + @Test @TestMetadata("inlineClassImplementsCollection.kt") public void testInlineClassImplementsCollection() throws Exception { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java index ab7f83c82cc40cb535df8eda999076e01195dfca..b8d5ca7560b1e67d455b52e82c11daf05791ae66 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/Errors.java @@ -365,6 +365,7 @@ public interface Errors { DiagnosticFactory0 SECONDARY_CONSTRUCTOR_WITH_BODY_INSIDE_INLINE_CLASS = DiagnosticFactory0.create(ERROR); DiagnosticFactory0 INNER_CLASS_INSIDE_INLINE_CLASS = DiagnosticFactory0.create(ERROR); DiagnosticFactory0 VALUE_CLASS_CANNOT_BE_CLONEABLE = DiagnosticFactory0.create(ERROR); + DiagnosticFactory0 INLINE_CLASS_DEPRECATED = DiagnosticFactory0.create(WARNING); // Result class diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java index 5afaa8492919c2e78e96a9e6f2790975b3e0efae..e257afe8471721c8d14e548454f2dbc882ad98a1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java @@ -724,6 +724,7 @@ public class DefaultErrorMessages { MAP.put(SECONDARY_CONSTRUCTOR_WITH_BODY_INSIDE_INLINE_CLASS, "Secondary constructors with bodies are reserved for for future releases"); MAP.put(INNER_CLASS_INSIDE_INLINE_CLASS, "Inline class cannot have inner classes"); MAP.put(VALUE_CLASS_CANNOT_BE_CLONEABLE, "Value class cannot be Cloneable"); + MAP.put(INLINE_CLASS_DEPRECATED, "Inline classes are deprecated in favor of value classes"); MAP.put(RESULT_CLASS_IN_RETURN_TYPE, "'kotlin.Result' cannot be used as a return type"); MAP.put(RESULT_CLASS_WITH_NULLABLE_OPERATOR, "Expression of type 'kotlin.Result' cannot be used as a left operand of ''{0}''", STRING); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt index 21053197d8fd1551ced42792db13dbe6f218dc51..0b1ef0cbc0d2fc2f42bd813f474436738bc68f29 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt @@ -357,6 +357,13 @@ object ModifierCheckerCore { continue } + if (dependency == LanguageFeature.InlineClasses) { + if (languageVersionSettings.supportsFeature(LanguageFeature.JvmInlineValueClasses)) { + trace.report(Errors.INLINE_CLASS_DEPRECATED.on(node.psi)) + continue + } + } + val diagnosticData = dependency to languageVersionSettings when (featureSupport) { LanguageFeature.State.ENABLED_WITH_WARNING -> { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/InlineClassDeclarationChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/InlineClassDeclarationChecker.kt index e16ee31e38ec1694b862c16341eb5f7ad7048467..0e57fd52fedc544ba5e1b34d31a4335690248c4e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/InlineClassDeclarationChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/InlineClassDeclarationChecker.kt @@ -15,10 +15,8 @@ import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.modalityModifier import org.jetbrains.kotlin.resolve.* -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers -import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperInterfaces import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.typeUtil.isNothing import org.jetbrains.kotlin.types.typeUtil.isTypeParameter diff --git a/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.fir.kt b/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.fir.kt index 7620688ffe8e4d9aac0749a1876dc987d3242092..b0e4cee21514cf40351be908a0c29d6c781163c2 100644 --- a/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.fir.kt +++ b/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // SKIP_JAVAC // FILE: uint.kt diff --git a/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.kt b/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.kt index 125438f99e87e9f420fe331684165d59c68058cd..93a6181771c31987ea0659a47125b2a45da71deb 100644 --- a/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.kt +++ b/compiler/testData/diagnostics/tests/evaluate/inlineClasses/constructorOfUnsignedType.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // SKIP_JAVAC // FILE: uint.kt diff --git a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.fir.kt index fdb6b5bb4203c5c614c5454f1d19c9b3e2ee636b..7fa04e7be7444012721720adf2ce8cc0e3061d03 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.kt b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.kt index f1efb38b7fb9b31b097594d0940fdec2c8b18144..7bf4750329cb8e47faf42d0be60b5d9ee98e4f03 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclaration.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.fir.kt index b3ddad1f0983e3d0e51caf94075f325179ab69f5..7c2d3936a683688e8ce053cadcd5c00a5fabb5d3 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: -InlineClasses +// !LANGUAGE: -InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt index e2708abccc4e5aeaa5b056abab632b789e06044a..69349b88485c93f58887c473e077a9ba969ae799 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: -InlineClasses +// !LANGUAGE: -InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt index 3ad0a8a9070ea403a6e83a6679f7eb5ce4e406f9..2eed42e69836805cba8358a6ba7cad442b8419ab 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val i: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt b/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt index f0d500dabbd4bfb9f5e8628324d077bb8b2d83b7..dbc3ded3bcc44b5c13985a302b3961df66a174ab 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val i: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.fir.kt index c46969ca1e011319204cd93dfb2905ab46a85f05..d7f614de46dff15777d32ac65b75f9955fdd5684 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class X(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.kt b/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.kt index 113b9a76c9c508adff4404da9a1348f603fefbdf..cc81abd4d0f0497ffcc13ce384a49069f851077c 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/constructorsJvmSignaturesClash.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class X(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.fir.kt index 77dd8988c780e357f33bccfc1cd43e9ad6a62ecd..d80a0c75060656950782b13dee127aded222e2b1 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses class Val { operator fun getValue(thisRef: Any?, kProp: Any?) = 1 diff --git a/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt index 02356440d3fd503897e6ddac01d36a7a5caf4574..5827fada5b30a545a4297b55e23688f71b5f9dc8 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses class Val { operator fun getValue(thisRef: Any?, kProp: Any?) = 1 diff --git a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.fir.kt index 2269b291aaf22fc11a902030ba1377a11c4928c7..8a7d39aac8c5df7afef57e222086e250edcad6bf 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class X(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.kt b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.kt index 875f220bdde0a67caca566e8327941d739288c34..bdd68fc1692ac3ae9a3c9c753a8de8781cc98402 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesClash.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class X(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesConflictOnInheritance.kt b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesConflictOnInheritance.kt index 7433d266115760cf2a68bec7dc914f8395dc21f0..60b8a4cc35f046c39a53c58e708162b3025189cb 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesConflictOnInheritance.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/functionsJvmSignaturesConflictOnInheritance.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Name(val name: String) inline class Password(val password: String) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.fir.kt index 24566925dc7aa8fe921d315684d3cab670d887f4..a51dfec0cf6c455ca861b341c7ea72342eed01d9 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt b/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt index 82ee455bb16f35a392d2a50f08d4754b81c5301f..02a633f571c62ab0d6542ed26ea50437a6b02956 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.fir.kt index 07970c657c4c8b0d44294e0b4bb4840d29b715e4..ca52ee3b324d4309d534707a704946284ce6ec9b 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses abstract class AbstractBaseClass diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.kt index 7a8e6c3bb018bd5d227e8273a64f644401d9a046..4adf5bef811b4f41bf7ff842b9518cc0ae1eb47f 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCanOnlyImplementInterfaces.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses abstract class AbstractBaseClass diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.fir.kt index fc15d5e7721614199e677be8a172f24237c44414..feb113b6cb5cd12b0759b6e5a5c47f79040bafe9 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses interface IFoo diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt index 916d2148c9bbccd97c6b2fd3b90acafcdf9d57de..10a855b908981577a574b9b392ea3e5f5f9ec0c6 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses interface IFoo diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassConstructorParameterWithDefaultValue.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassConstructorParameterWithDefaultValue.kt index 015b386cf210566b233145b66ec9437ddd3e1f96..50a08b5f5d0bfd460774975411621225ba30ab23 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassConstructorParameterWithDefaultValue.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassConstructorParameterWithDefaultValue.kt @@ -1,4 +1,4 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Test(val x: Int = 42) \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.fir.kt index ea47b0e4e216d1964f3b5a4b1e6101cc33ea4449..c46481682dbd4c8351372244ac5f2575a5647128 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class A0(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt index cd55c8f55f5af7878471e2611fcdfd587c63b59b..55dc2157158eef9630da49db04b2a17123f7ea32 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class A0(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.fir.kt new file mode 100644 index 0000000000000000000000000000000000000000..d7f3e7be4c115700e1cbbf09b95a4535dacf2608 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.fir.kt @@ -0,0 +1,3 @@ +// !LANGUAGE: +JvmInlineValueClasses + +inline class IC(val i: Int) \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.kt new file mode 100644 index 0000000000000000000000000000000000000000..e4436da1e142573a5559ca70b319ef7cf7b00eed --- /dev/null +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.kt @@ -0,0 +1,3 @@ +// !LANGUAGE: +JvmInlineValueClasses + +inline class IC(val i: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.txt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5ea8596b23c83f24de9b27e7e7bc370ba678bc9 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.txt @@ -0,0 +1,10 @@ +package + +public final inline class IC { + public constructor IC(/*0*/ i: kotlin.Int) + public final val i: kotlin.Int + public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String +} + diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassImplementsCollection.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassImplementsCollection.kt index 213ddf10ec1601eef2859c3714bc922971011a24..f40abbabd50a83f82b903585d52b139e0b33367a 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassImplementsCollection.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassImplementsCollection.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class UInt(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.fir.kt index 650bcb0e190e71439f2dcadd806bd9a28b885713..034af53a9c1e2699c439209316890fe66f54581d 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Foo(val x: T) inline class FooNullable(val x: T?) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.kt index 0103c2b62fcb8b19f182c0e703efe0eda0a0da3c..0b12d0b97dd1718ed71a0ef55c39b1018d9d003d 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassWithForbiddenUnderlyingType.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Foo(val x: T) inline class FooNullable(val x: T?) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassesInsideAnnotations.kt b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassesInsideAnnotations.kt index 182b14bf413b7d086bc8e5b0002eb1f793ea5ea6..45a3a48d9b1335aaad6ea136f69279180fc1de3b 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/inlineClassesInsideAnnotations.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/inlineClassesInsideAnnotations.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses import kotlin.reflect.KClass diff --git a/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.fir.kt index 7188dcc1dc1d8acc1ee07669f2c5807d3242ee5e..fd5fcaaa76859e166421b258f43f8f368556bd60 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.kt index 3c64938fd96043a42b4e6f337a2d65b6911a329e..35c0d17b85a707adc0572b470cc9d5dd80434abb 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/innerClassInsideInlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.fir.kt index d81f5b2b0e9ec94113cf215ff91b385c6ad59caa..bb264ef9e0e49608704aba3505f0e29f367846cf 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.kt b/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.kt index b05bacd607eaca4701695df820a1d8394df5c567..89a50702ef493baff7aa29167a910a9350bae8c7 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/lateinitInlineClasses.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/presenceOfInitializerBlockInsideInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/presenceOfInitializerBlockInsideInlineClass.kt index 7def378d5e26d118473ca7380ec23a17d84903e8..b02d8a159012872737f625b4197f357bf651d712 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/presenceOfInitializerBlockInsideInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/presenceOfInitializerBlockInsideInlineClass.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_VARIABLE inline class Foo(val x: Int) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/presenceOfPublicPrimaryConstructorForInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/presenceOfPublicPrimaryConstructorForInlineClass.kt index 0224c26082edfb035538b9c111b79dd113f4721d..a84006c513a5abb83ec5b8d31243db739d7f8dfb 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/presenceOfPublicPrimaryConstructorForInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/presenceOfPublicPrimaryConstructorForInlineClass.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class ConstructorWithDefaultVisibility(val x: Int) inline class PublicConstructor public constructor(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.fir.kt index 673b7ba826203db56916b143f7f7b063f1b61c13..a9d54c4d55f9e6c1dbbc9bb21de050f2c966b54a 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER interface A { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.kt index 5fba5d676df1af7a1b4536bdff29b229f2e99ae0..6505df52127b4c5c423e0cc5ae36ed4107a9dcdc 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/propertiesWithBackingFieldsInsideInlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER interface A { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.fir.kt index 6ebf4f85568f45b52c963556b6f61afb5e83a504..fded4d68da36b71493215adece2c259107e81ba2 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Test1(val x: Test1) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.kt b/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.kt index 0aac4708d0b62f44ef1bad149c02d49830326aaa..e92d11d1ed21930138bdf07f9f1fc7b5527c9c7f 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/recursiveInlineClasses.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Test1(val x: Test1) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.fir.kt index c433e12c85f127dc8d5f10094e5ffca04e85c905..03b8559c84ae3f1e8eab52e801b2d88ecac5ec6d 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC1(val x: Any) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.kt b/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.kt index 147141c101d3e1e3432ba5bb5542279569a9cfe9..3aadda3104cf0ea5160e0f9b1087691ffadf8a64 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/reservedMembersAndConstructsInsideInlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC1(val x: Any) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.fir.kt index 7c4ae085dee7e6673dd7e585971be4a3423fc40d..ded5b1d320eaed4e7dfbc83d7e0378946ac48c01 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val a: Any) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.kt b/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.kt index b47aed89b606a5c25d746ab23a98fe72861abf05..9cd4f4fdb2e491ae05e37a0c462db0331b669938 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/varPropertyWithInlineClassReceiver.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val a: Any) { diff --git a/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.fir.kt b/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.fir.kt index dceb49c64acd486b64c8f3b50ecb82e14bdf5c54..938e265af68d9ee779fdc8d2ffd5b0a9eae81fb9 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.kt b/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.kt index 749a288b2b30528c7e03a643f673a3e6ab724c84..456a4ef315749436391bca9748e776e479e7e335 100644 --- a/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.kt +++ b/compiler/testData/diagnostics/tests/inlineClasses/varargsOnParametersOfInlineClassType.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_VARIABLE, -UNUSED_ANONYMOUS_PARAMETER inline class Foo(val x: Int) diff --git a/compiler/testData/diagnostics/tests/j+k/primitiveOverridesWithInlineClass/inlineClassErasedToPrimitiveInt.kt b/compiler/testData/diagnostics/tests/j+k/primitiveOverridesWithInlineClass/inlineClassErasedToPrimitiveInt.kt index 77873fc81328bd6282cfc745dff9276c84aafd42..deff956d8f8a92d0c647e02e9cb73a73c7ca9aab 100644 --- a/compiler/testData/diagnostics/tests/j+k/primitiveOverridesWithInlineClass/inlineClassErasedToPrimitiveInt.kt +++ b/compiler/testData/diagnostics/tests/j+k/primitiveOverridesWithInlineClass/inlineClassErasedToPrimitiveInt.kt @@ -1,5 +1,5 @@ // FIR_IDENTICAL -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // FILE: kt1.kt package kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt index 16e9f7700490e4c25ae868dfbde46142fadd4e0c..87931f0c35ff6cdca7fbb63e3c9e740d5ef8e832 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +MultiPlatformProjects, +InlineClasses +// !LANGUAGE: +MultiPlatformProjects, +InlineClasses, -JvmInlineValueClasses // MODULE: m1-common // FILE: common.kt diff --git a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.kt b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.kt index b472ac504688652c78af38c06538d05fe6a83ae7..0fe15e75e3ca3543feb0aeae38b2f00b1ea6a4d6 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +MultiPlatformProjects, +InlineClasses +// !LANGUAGE: +MultiPlatformProjects, +InlineClasses, -JvmInlineValueClasses // MODULE: m1-common // FILE: common.kt diff --git a/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.fir.kt b/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.fir.kt index c44333df2932f1b9970f054a07f2eb2bc9425e47..8523499401118ba97af78066b85c6b7b61736596 100644 --- a/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.fir.kt +++ b/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.fir.kt @@ -1,4 +1,5 @@ // !DIAGNOSTICS: -EXPERIMENTAL_FEATURE_WARNING +// !LANGUAGE: -JvmInlineValueClasses // SKIP_TXT inline class Value1(val inner: Int) diff --git a/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.kt b/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.kt index bc0db7443e6061677281ac4addc48f1e5613ce8f..4ac8337119e4126069f7072e2eb384692c84a9e2 100644 --- a/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.kt +++ b/compiler/testData/diagnostics/tests/testsWithExplicitApi/inlineClasses.kt @@ -1,4 +1,5 @@ // !DIAGNOSTICS: -EXPERIMENTAL_FEATURE_WARNING +// !LANGUAGE: -JvmInlineValueClasses // SKIP_TXT inline class Value1(val inner: Int) diff --git a/compiler/testData/diagnostics/tests/valueClasses/jvmInlineApplicability.kt b/compiler/testData/diagnostics/tests/valueClasses/jvmInlineApplicability.kt index 2993956b92f6620d1fdb486119e0fc8035954d5a..614b06aa4f7913977c21f6e44616aff671276e84 100644 --- a/compiler/testData/diagnostics/tests/valueClasses/jvmInlineApplicability.kt +++ b/compiler/testData/diagnostics/tests/valueClasses/jvmInlineApplicability.kt @@ -6,7 +6,7 @@ package kotlin.jvm annotation class JvmInline @JvmInline -inline class IC(val a: Any) +inline class IC(val a: Any) @JvmInline value class VC(val a: Any) diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClass.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClass.kt index 66067604eae672395fb7ef38ba200279d4c21efe..7c5f9b25cbf6a95010fd3ad85fbea4b1a9dd08a5 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClass.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClass.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses external inline class C(val a: Int) { fun foo() diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClassAsParameterOrReturnType.kt.kt b/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClassAsParameterOrReturnType.kt.kt index c694bc7e93b1ab0234098fd90e840b48226ac366..b3ae0119402b2bdc7f8222fedfe3162d17b2c436 100644 --- a/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClassAsParameterOrReturnType.kt.kt +++ b/compiler/testData/diagnostics/testsWithJsStdLib/native/inlineClassAsParameterOrReturnType.kt.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // FILE: uint.kt diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt index f0d500dabbd4bfb9f5e8628324d077bb8b2d83b7..dbc3ded3bcc44b5c13985a302b3961df66a174ab 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val i: Int) diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt index fc93e2f2698554ed9d606c89a02e2b5925f44205..41d8ed34a34f6c27bd2c295ed2c284ef0b6ada53 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER, -PLATFORM_CLASS_MAPPED_TO_KOTLIN // WITH_RUNTIME diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt index fc93e2f2698554ed9d606c89a02e2b5925f44205..41d8ed34a34f6c27bd2c295ed2c284ef0b6ada53 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER, -PLATFORM_CLASS_MAPPED_TO_KOTLIN // WITH_RUNTIME diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt index c936aeb4b86f437b6098d94a058874a025613219..49447d38ef8dab45bb8226121dc17b98129e8392 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class Foo(val x: Int) { diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt index 6842cfb2732a62bc9d591f3270cd348ae8cdb7ee..fbabe7343f84dcf8a70a5a80b926e986ca104c0b 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationApplicability/jvmNameOnMangledNames.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class Foo(val x: Int) { diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.fir.kt index 81ad67b7c2f26c46906e3b7ef34efd4a1eedf713..d7b92c8ea9eb6aab0b13909da967036d71add449 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.fir.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses +// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE @kotlin.jvm.JvmField diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.kt index b92ad1e8d355ed3316d6ff1dad281760075af55f..96e2bc3e020c8240b73b2b55040ff843bc8f72cf 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmField/jvmFieldApplicability.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses +// !LANGUAGE: +NestedClassesInAnnotations +InlineClasses -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE @kotlin.jvm.JvmField diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.fir.kt index b6b09818cabaf575927b0337d6b1ddae003aa088..5f8e0ea3540250a586e4f0501b9aabfe2a99820b 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.fir.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Z(val x: Int) diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.kt index 0bc34e142165e91c83904dcec9667c19184eaee7..ca745b61bb4e273d6f9df12187d01bac1885c25c 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnMangledFunctions.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER -// !LANGUAGE: +InlineClasses +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses inline class Z(val x: Int) diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.fir.kt index 8d82d9505dde662903f1506bbfda1525d4c8a490..0053f27fce05b1ef47626e72da9002584b95d02b 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.fir.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_EXPRESSION, -UNUSED_VARIABLE -// !LANGUAGE: +InlineClasses -AllowResultInReturnType +// !LANGUAGE: +InlineClasses -AllowResultInReturnType, -JvmInlineValueClasses typealias ResultAlias = Result diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.kt index 7a076f5fac8a68d0a493bb9c57ec8de6b2e4fb12..75ae6a930a252be022d37cabc3fa3b55793b05e1 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_EXPRESSION, -UNUSED_VARIABLE -// !LANGUAGE: +InlineClasses -AllowResultInReturnType +// !LANGUAGE: +InlineClasses -AllowResultInReturnType, -JvmInlineValueClasses typealias ResultAlias = Result diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.fir.kt index 4ababa8b587531eed53ee065a1b1ac88e7d69bab..dc180b8a96b1959708b7f6652d0d042fccd8516e 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.fir.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_EXPRESSION, -UNUSED_VARIABLE -// !LANGUAGE: +InlineClasses +AllowResultInReturnType +// !LANGUAGE: +InlineClasses +AllowResultInReturnType, -JvmInlineValueClasses typealias ResultAlias = Result diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.kt index 4ba97ee994dd0b945451181004badf2dc628a5b2..b319f429f45c18c3a79eb58d61884835433bac53 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/usageOfResultTypeInReturnType_1_4.kt @@ -1,5 +1,5 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER, -UNUSED_EXPRESSION, -UNUSED_VARIABLE -// !LANGUAGE: +InlineClasses +AllowResultInReturnType +// !LANGUAGE: +InlineClasses +AllowResultInReturnType, -JvmInlineValueClasses typealias ResultAlias = Result diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 97fa85e4f4ad3d59bfbe9e372d7135ba03075db7..b7a58752387601a1631a268c3a91078d7e33c294 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -15011,6 +15011,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt"); } + @Test + @TestMetadata("inlineClassDeprecated.kt") + public void testInlineClassDeprecated() throws Exception { + runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeprecated.kt"); + } + @Test @TestMetadata("inlineClassImplementsCollection.kt") public void testInlineClassImplementsCollection() throws Exception {