119 lines
2.7 KiB
Kotlin
Vendored
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<!>() }
|
|
}
|
|
}
|