[Tests] Add regression tests for KT-32754

#KT-32754 Fixed
This commit is contained in:
Kirill Rakhman
2024-03-12 16:57:52 +01:00
committed by Space Team
parent adf5331ff0
commit 43a08068fc
7 changed files with 116 additions and 0 deletions
@@ -0,0 +1,43 @@
// ISSUE: KT-32754
import java.lang.invoke.MethodHandles
fun <T> Collection<T>.toArray(f: (Int) -> Array<T?>) = 1
fun String.strip() = 1
fun String.stripLeading() = 1
fun String.stripTrailing() = 1
fun String.indent(n: Int) = 1
fun String.stripIndent() = 1
fun String.translateEscapes() = 1
fun String.transform(f: (String) -> String) = 1
fun String.formatted(vararg args: Any) = 1
fun String.repeat(n: Int) = 1
fun String.describeConstable() = 1
fun String.resolveConstantDesc(lookup: MethodHandles.Lookup) = 1
fun <E : Enum<E>> Enum<E>.describeConstable() = 1
enum class MyEnum { E }
fun test(c: Collection<String>, l: List<String>, s: Set<String>) {
consumeInt(c.toArray { i -> arrayOfNulls<String>(i) })
consumeInt(l.toArray { i -> arrayOfNulls(i) })
consumeInt(s.toArray { i -> arrayOfNulls(i) })
consumeInt("".strip())
consumeInt("".stripLeading())
consumeInt("".stripTrailing())
consumeInt("".indent(1))
consumeInt("".stripIndent())
consumeInt("".translateEscapes())
consumeInt("".transform { it -> "" })
consumeInt("".formatted())
consumeInt("".repeat(1))
consumeInt("".describeConstable())
consumeInt("".resolveConstantDesc(null <!CAST_NEVER_SUCCEEDS!>as<!> MethodHandles.Lookup))
consumeInt(MyEnum.E.describeConstable())
}
fun consumeInt(i: Int) {}
@@ -0,0 +1,43 @@
// ISSUE: KT-32754
import java.lang.invoke.MethodHandles
fun <T> Collection<T>.toArray(f: (Int) -> Array<T?>) = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>strip<!>() = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>stripLeading<!>() = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>stripTrailing<!>() = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>indent<!>(n: Int) = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>stripIndent<!>() = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>translateEscapes<!>() = 1
fun String.transform(f: (String) -> String) = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>formatted<!>(vararg args: Any) = 1
fun String.repeat(n: Int) = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>describeConstable<!>() = 1
fun String.<!EXTENSION_SHADOWED_BY_MEMBER!>resolveConstantDesc<!>(lookup: MethodHandles.Lookup) = 1
fun <E : Enum<E>> Enum<E>.<!EXTENSION_SHADOWED_BY_MEMBER!>describeConstable<!>() = 1
enum class MyEnum { E }
fun test(c: Collection<String>, l: List<String>, s: Set<String>) {
consumeInt(<!TYPE_MISMATCH!>c.<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>toArray<!> { i -> arrayOfNulls<String>(i) }<!>)
consumeInt(<!TYPE_MISMATCH!>l.<!DEPRECATION!>toArray<!> { i -> arrayOfNulls(i) }<!>)
consumeInt(<!TYPE_MISMATCH!>s.<!DEPRECATION!>toArray<!> { i -> arrayOfNulls(i) }<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>strip<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>stripLeading<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>stripTrailing<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>indent<!>(1)<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>stripIndent<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>translateEscapes<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>transform<!> { it -> "" }<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>formatted<!>()<!>)
consumeInt("".repeat(1))
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>describeConstable<!>()<!>)
consumeInt(<!TYPE_MISMATCH!>"".<!DEPRECATION, JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE!>resolveConstantDesc<!>(null <!CAST_NEVER_SUCCEEDS!>as<!> MethodHandles.Lookup)<!>)
consumeInt(<!TYPE_MISMATCH!>MyEnum.E.<!DEPRECATION!>describeConstable<!>()<!>)
}
fun consumeInt(i: Int) {}