[FIR] Resolve infix calls to infix functions only
Implements INFIX_MODIFIER_REQUIRED diagnostics
This commit is contained in:
committed by
TeamCityServer
parent
df14deb5a0
commit
b1c8669b43
-10
@@ -1,10 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER
|
||||
|
||||
infix fun Int.rem(other: Int) = 10
|
||||
infix operator fun Int.minus(other: Int): Int = 20
|
||||
|
||||
const val a1 = (-5) rem 2
|
||||
const val a2 = (-5).rem(2)
|
||||
|
||||
const val b1 = 5 minus 3
|
||||
const val b2 = 5.minus(3)
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER
|
||||
|
||||
infix fun Int.rem(other: Int) = 10
|
||||
|
||||
+16
-16
@@ -4,23 +4,23 @@ fun fooByte(p: Byte) = p
|
||||
fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1 plus 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 plus 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 plus 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 plus 1<!>)
|
||||
fooInt(1 <!INFIX_MODIFIER_REQUIRED!>plus<!> 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>plus<!> 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>plus<!> 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>plus<!> 1<!>)
|
||||
|
||||
fooInt(1 times 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 times 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 times 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 times 1<!>)
|
||||
fooInt(1 <!INFIX_MODIFIER_REQUIRED!>times<!> 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>times<!> 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>times<!> 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>times<!> 1<!>)
|
||||
|
||||
fooInt(1 div 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 div 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 div 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 div 1<!>)
|
||||
fooInt(1 <!INFIX_MODIFIER_REQUIRED!>div<!> 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>div<!> 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>div<!> 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>div<!> 1<!>)
|
||||
|
||||
fooInt(1 rem 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 rem 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 rem 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 rem 1<!>)
|
||||
fooInt(1 <!INFIX_MODIFIER_REQUIRED!>rem<!> 1)
|
||||
fooByte(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>rem<!> 1<!>)
|
||||
fooLong(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>rem<!> 1<!>)
|
||||
fooShort(<!ARGUMENT_TYPE_MISMATCH!>1 <!INFIX_MODIFIER_REQUIRED!>rem<!> 1<!>)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user