KT-4529 Lambdas are analyzed improperly in an infix call nested inside a println
#KT-4529 Fixed
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
//KT-4529 Lambdas are analyzed improperly in an infix call nested inside a println
|
||||
|
||||
class G {
|
||||
fun foo(bar: (Int) -> Int) = bar
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
use(
|
||||
G().foo {it + 11} // no error
|
||||
)
|
||||
use(
|
||||
G() foo {it + 11} // ERROR
|
||||
)
|
||||
use(
|
||||
G() foo ({it + 1}) // 2 ERRORs
|
||||
)
|
||||
}
|
||||
|
||||
fun use(a: Any?) = a
|
||||
@@ -7,9 +7,9 @@ fun composite() {
|
||||
}
|
||||
|
||||
fun html() {
|
||||
<!SYNTAX!><<!><!FUNCTION_CALL_EXPECTED!>html<!><!UNRESOLVED_REFERENCE!>><!><!SYNTAX!><<!><!DEBUG_INFO_MISSING_UNRESOLVED!>/<!><!FUNCTION_CALL_EXPECTED!>html<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>><!><!SYNTAX!><!>
|
||||
<!SYNTAX!><<!><!FUNCTION_CALL_EXPECTED!>html<!><!UNRESOLVED_REFERENCE!>><!><!SYNTAX!><<!><!DEBUG_INFO_MISSING_UNRESOLVED!>/<!><!DEBUG_INFO_MISSING_UNRESOLVED!>html<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>><!><!SYNTAX!><!>
|
||||
}
|
||||
|
||||
fun html1() {
|
||||
<!SYNTAX!><<!><!FUNCTION_CALL_EXPECTED!>html<!><!UNRESOLVED_REFERENCE!>><!><!SYNTAX!><<!><!DEBUG_INFO_MISSING_UNRESOLVED!>/<!><!FUNCTION_CALL_EXPECTED!>html<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>><!><!FUNCTION_CALL_EXPECTED!>html<!>
|
||||
<!SYNTAX!><<!><!FUNCTION_CALL_EXPECTED!>html<!><!UNRESOLVED_REFERENCE!>><!><!SYNTAX!><<!><!DEBUG_INFO_MISSING_UNRESOLVED!>/<!><!DEBUG_INFO_MISSING_UNRESOLVED!>html<!><!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>><!><!FUNCTION_CALL_EXPECTED!>html<!>
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package o
|
||||
|
||||
class A {
|
||||
fun foo(b: B) = b
|
||||
}
|
||||
|
||||
class B {
|
||||
fun bar() {}
|
||||
}
|
||||
|
||||
fun test(a: A, b: B?) {
|
||||
a foo b!!
|
||||
<!DEBUG_INFO_AUTOCAST!>b<!>.bar()
|
||||
}
|
||||
Reference in New Issue
Block a user