[NI] Support implicit invoke calls on parenthesized receivers

This commit is contained in:
Mikhail Zarechenskiy
2018-04-20 08:12:31 +03:00
parent 1e7682afc0
commit 397cc4f772
22 changed files with 211 additions and 64 deletions
@@ -9,11 +9,11 @@ fun test(a: A) {
}
"".<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
a<!NI;UNSAFE_CALL!>.<!><!OI;UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>("")
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
<!NI;UNSAFE_CALL, OI;UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>("")
with("") {
a<!NI;UNSAFE_CALL!>.<!><!OI;UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>(<!NO_VALUE_FOR_PARAMETER!>)<!>
<!UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
<!NI;UNSAFE_CALL, OI;UNSAFE_IMPLICIT_INVOKE_CALL!>(a.x)<!>()
if (a.x != null) {
a<!NI;UNSAFE_CALL!>.<!><!OI;UNSAFE_IMPLICIT_INVOKE_CALL!>x<!>(<!NO_VALUE_FOR_PARAMETER!>)<!> // todo
<!DEBUG_INFO_SMARTCAST!>(a.x)<!>()