[Test] Move some builder inference tests from codegen to diagnostics

^KT-56169
This commit is contained in:
Dmitriy Novozhilov
2023-01-25 10:50:58 +02:00
committed by Space Team
parent 88efa6bfb6
commit 2fddb15539
9 changed files with 150 additions and 39 deletions
@@ -36426,6 +36426,18 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt");
}
@Test
@TestMetadata("kt48445.kt")
public void testKt48445() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt48445.kt");
}
@Test
@TestMetadata("kt50520.kt")
public void testKt50520() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt50520.kt");
}
@Test
@TestMetadata("resolveUsualCallWithBuilderInference.kt")
public void testResolveUsualCallWithBuilderInference() throws Exception {
@@ -36522,6 +36522,18 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt");
}
@Test
@TestMetadata("kt48445.kt")
public void testKt48445() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt48445.kt");
}
@Test
@TestMetadata("kt50520.kt")
public void testKt50520() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt50520.kt");
}
@Test
@TestMetadata("resolveUsualCallWithBuilderInference.kt")
public void testResolveUsualCallWithBuilderInference() throws Exception {
@@ -36426,6 +36426,18 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt");
}
@Test
@TestMetadata("kt48445.kt")
public void testKt48445() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt48445.kt");
}
@Test
@TestMetadata("kt50520.kt")
public void testKt50520() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt50520.kt");
}
@Test
@TestMetadata("resolveUsualCallWithBuilderInference.kt")
public void testResolveUsualCallWithBuilderInference() throws Exception {
@@ -1,11 +0,0 @@
// WITH_STDLIB
// IGNORE_BACKEND_K2: JVM_IR, JS_IR, NATIVE
// FIR status: different behavour with FE 1.0, reported `NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER`
fun box(): String {
buildList {
val foo = { first() }
add(0, foo)
}
return "OK"
}
@@ -1,7 +1,5 @@
// !LANGUAGE: +UnrestrictedBuilderInference
// IGNORE_BACKEND_K2: JVM_IR, JS_IR, NATIVE
// FIR status: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER on lazy call (Name3, T)
// WITH_STDLIB
// SKIP_TXT
internal class TowerDataElementsForName() {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@@ -30,9 +28,9 @@ internal class TowerDataElementsForName2() {
}
internal class TowerDataElementsForName3() {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
val reversedFilteredLocalScopes by <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>lazy<!>(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList l1@ {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
for (i in lastIndex downTo 0) {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
@@ -48,27 +46,19 @@ internal class TowerDataElementsForName3() {
}
}
//internal class TowerDataElementsForName4() {
// @OptIn(ExperimentalStdlibApi::class)
// val reversedFilteredLocalScopes = buildList l1@ {
// class Foo {
// val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
// @OptIn(ExperimentalStdlibApi::class)
// buildList {
// for (i in lastIndex downTo 0) {
// add("")
// this@l1.add("")
// }
// }
// }
// }
// }
//}
fun box(): String {
val x1 = TowerDataElementsForName().reversedFilteredLocalScopes
val x2 = TowerDataElementsForName2().reversedFilteredLocalScopes
val x3 = TowerDataElementsForName3().reversedFilteredLocalScopes
// val x4 = TowerDataElementsForName4().reversedFilteredLocalScopes
return "OK"
internal class TowerDataElementsForName4() {
@OptIn(ExperimentalStdlibApi::class)
val reversedFilteredLocalScopes = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
class Foo {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList {
for (i in lastIndex downTo 0) {
add("")
this@l1.add("")
}
}
}
}
}
}
@@ -0,0 +1,64 @@
// !LANGUAGE: +UnrestrictedBuilderInference
// SKIP_TXT
internal class TowerDataElementsForName() {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList {
for (i in lastIndex downTo 0) {
add("")
}
}
}
}
internal class TowerDataElementsForName2() {
@OptIn(ExperimentalStdlibApi::class)
val reversedFilteredLocalScopes = buildList {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList {
for (i in lastIndex downTo 0) {
add("")
}
}
}
add(reversedFilteredLocalScopes)
}
}
internal class TowerDataElementsForName3() {
val reversedFilteredLocalScopes by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>lazy<!>(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
for (i in lastIndex downTo 0) {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList {
for (<!NAME_SHADOWING!>i<!> in lastIndex downTo 0) {
add("")
this@l1.add("")
}
}
}
}
}
}<!>
}
internal class TowerDataElementsForName4() {
@OptIn(ExperimentalStdlibApi::class)
val reversedFilteredLocalScopes = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
class Foo {
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
@OptIn(ExperimentalStdlibApi::class)
buildList {
for (i in lastIndex downTo 0) {
add("")
this@l1.add("")
}
}
}
}
}
}
@@ -0,0 +1,10 @@
// WITH_STDLIB
// SKIP_TXT
fun box(): String {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> {
val foo = { first() }
add(0, foo)
}
return "OK"
}
@@ -0,0 +1,10 @@
// WITH_STDLIB
// SKIP_TXT
fun box(): String {
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> {
val foo = { first() }
add(0, <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>foo<!>)
}
return "OK"
}
@@ -36522,6 +36522,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/inferCoroutineTypeInOldVersion.kt");
}
@Test
@TestMetadata("kt48445.kt")
public void testKt48445() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt48445.kt");
}
@Test
@TestMetadata("kt50520.kt")
public void testKt50520() throws Exception {
runTest("compiler/testData/diagnostics/testsWithStdLib/builderInference/kt50520.kt");
}
@Test
@TestMetadata("resolveUsualCallWithBuilderInference.kt")
public void testResolveUsualCallWithBuilderInference() throws Exception {