[FIR] Freeze the current behavior of ImplicitIntegerCoercion+overloads
Adding the tests "just in case", ensuring the K2 behaves similar to K1.
This commit is contained in:
committed by
Space Team
parent
931894ab3c
commit
f3ca465647
+6
@@ -33997,6 +33997,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
|
|||||||
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("implicitIntegerCoercionOverloading.kt")
|
||||||
|
public void testImplicitIntegerCoercionOverloading() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionOverloading.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
||||||
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
||||||
|
|||||||
+6
@@ -33997,6 +33997,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
|
|||||||
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("implicitIntegerCoercionOverloading.kt")
|
||||||
|
public void testImplicitIntegerCoercionOverloading() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionOverloading.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
||||||
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
||||||
|
|||||||
+6
@@ -33997,6 +33997,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir
|
|||||||
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("implicitIntegerCoercionOverloading.kt")
|
||||||
|
public void testImplicitIntegerCoercionOverloading() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionOverloading.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
||||||
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
||||||
|
|||||||
+6
@@ -34093,6 +34093,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia
|
|||||||
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("implicitIntegerCoercionOverloading.kt")
|
||||||
|
public void testImplicitIntegerCoercionOverloading() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionOverloading.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
||||||
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
||||||
|
|||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
// ISSUE: KT-57655
|
||||||
|
// !LANGUAGE: +ImplicitSignedToUnsignedIntegerConversion
|
||||||
|
// ALLOW_KOTLIN_PACKAGE
|
||||||
|
|
||||||
|
// FILE: annotation.kt
|
||||||
|
|
||||||
|
package kotlin.internal
|
||||||
|
|
||||||
|
annotation class ImplicitIntegerCoercion
|
||||||
|
|
||||||
|
// FILE: test.kt
|
||||||
|
|
||||||
|
import kotlin.internal.ImplicitIntegerCoercion
|
||||||
|
|
||||||
|
fun test(@ImplicitIntegerCoercion x: UInt) = x
|
||||||
|
fun test(@ImplicitIntegerCoercion x: ULong) = x
|
||||||
|
fun testLong(@ImplicitIntegerCoercion x: ULong) = x
|
||||||
|
|
||||||
|
fun box(): String = when {
|
||||||
|
test(5) != 5.toUInt() -> "Fail: test(5)"
|
||||||
|
<!NONE_APPLICABLE!>test<!>(5L) != 5L.toULong() -> "Fail: test(5L)"
|
||||||
|
testLong(5) != 5L.toULong() -> "Fail: test(5L)"
|
||||||
|
testLong(<!ARGUMENT_TYPE_MISMATCH!>5L<!>) != 5L.toULong() -> "Fail: test(5L)"
|
||||||
|
else -> "OK"
|
||||||
|
}
|
||||||
Vendored
+25
@@ -0,0 +1,25 @@
|
|||||||
|
// ISSUE: KT-57655
|
||||||
|
// !LANGUAGE: +ImplicitSignedToUnsignedIntegerConversion
|
||||||
|
// ALLOW_KOTLIN_PACKAGE
|
||||||
|
|
||||||
|
// FILE: annotation.kt
|
||||||
|
|
||||||
|
package kotlin.internal
|
||||||
|
|
||||||
|
annotation class ImplicitIntegerCoercion
|
||||||
|
|
||||||
|
// FILE: test.kt
|
||||||
|
|
||||||
|
import kotlin.internal.ImplicitIntegerCoercion
|
||||||
|
|
||||||
|
fun test(@ImplicitIntegerCoercion x: UInt) = x
|
||||||
|
fun test(@ImplicitIntegerCoercion x: ULong) = x
|
||||||
|
fun testLong(@ImplicitIntegerCoercion x: ULong) = x
|
||||||
|
|
||||||
|
fun box(): String = when {
|
||||||
|
test(5) != 5.toUInt() -> "Fail: test(5)"
|
||||||
|
<!EQUALITY_NOT_APPLICABLE!>test(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>5L<!>) != 5L.toULong()<!> -> "Fail: test(5L)"
|
||||||
|
testLong(5) != 5L.toULong() -> "Fail: test(5L)"
|
||||||
|
testLong(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>5L<!>) != 5L.toULong() -> "Fail: test(5L)"
|
||||||
|
else -> "OK"
|
||||||
|
}
|
||||||
Generated
+6
@@ -34865,6 +34865,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionNamedArg.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("implicitIntegerCoercionOverloading.kt")
|
||||||
|
public void testImplicitIntegerCoercionOverloading() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/unsignedTypes/conversions/implicitIntegerCoercionOverloading.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
@TestMetadata("inferenceForSignedAndUnsignedTypes.kt")
|
||||||
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
public void testInferenceForSignedAndUnsignedTypes() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user