Files
kotlin-fork/compiler/testData/diagnostics/tests/resolve/newLineLambda.fir.kt
T
2020-02-14 17:53:28 +03:00

119 lines
2.7 KiB
Kotlin
Vendored

// !WITH_NEW_INFERENCE
// !DIAGNOSTICS: -UNUSED_PARAMETER
fun noArgs() {}
fun oneLambdaArg(fn: () -> Unit) {}
fun twoLambdaArgs(f1: () -> Unit, f2: () -> Unit) {}
fun varargFn(vararg args: Int) {}
fun testNoArgs() {
noArgs()
<!INAPPLICABLE_CANDIDATE!>noArgs<!> {}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {}
noArgs() // {}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() /* */ {}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() /*
block comment, no new line
*/ {}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>()
/*
block comment with new line
*/
{}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() // comment
// comment
{}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {} {}
<!INAPPLICABLE_CANDIDATE!>noArgs<!>() {}
{}
}
fun testLambdaArg() {
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>()
oneLambdaArg {}
oneLambdaArg()
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>()
{}
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>(
{},
{}
)
oneLambdaArg() {}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() // {}
oneLambdaArg() /* */ {}
oneLambdaArg() /*
block
comment
*/ {}
oneLambdaArg() // comment
// comment
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}/*
block comment, no new line
*/ {}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}/*
block comment with new line
*/
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}// comment
// comment
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {} {}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {}
{}
<!INAPPLICABLE_CANDIDATE!>oneLambdaArg<!>() {} // comment
{}
}
fun testVararg() {
varargFn(1,2,3)
<!INAPPLICABLE_CANDIDATE!>varargFn<!> {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) {}
varargFn(1,2,3) // {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) /* */ {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) /*
block comment, no new line
*/ {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3)
/*
block comment with new line
*/ {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) // comment
// comment
{}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) {} {}
<!INAPPLICABLE_CANDIDATE!>varargFn<!>(1,2,3) {}
{}
}
fun testTwoLambdas() {
twoLambdaArgs(
f1 = {},
f2 =
{}
)
fun bar(): () -> Unit {
twoLambdaArgs()
{}
{}
return if (true) {
<!INAPPLICABLE_CANDIDATE!>twoLambdaArgs<!>({})
{}
{}
} else {
{}
}
}
}
fun f1(): (() -> Unit) -> (() -> Unit) -> Unit {
return { l1 ->
<!INAPPLICABLE_CANDIDATE!>l1<!>()
{ l2 -> <!UNRESOLVED_REFERENCE!>l2<!>() }
}
}