[FE 1.0] Fix some diagnostic tests

This commit is contained in:
Dmitriy Novozhilov
2021-07-21 16:41:39 +03:00
committed by Mikhael Bogdanov
parent c9c82ab3a6
commit 7250aed3b5
5 changed files with 17 additions and 17 deletions
@@ -12,5 +12,5 @@ val s: String = "test"
fun ff() { fun ff() {
val a = <!NO_COMPANION_OBJECT!>Test<!><!UNEXPECTED_SAFE_CALL!>?.<!>FOO val a = <!NO_COMPANION_OBJECT!>Test<!><!UNEXPECTED_SAFE_CALL!>?.<!>FOO
val b = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>foo<!><!UNEXPECTED_SAFE_CALL!>?.<!>s val b = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>foo<!><!UNEXPECTED_SAFE_CALL!>?.<!>s
<!NO_COMPANION_OBJECT!>System<!><!UNEXPECTED_SAFE_CALL!>?.<!>out.println(a + b) <!NO_COMPANION_OBJECT!>System<!><!UNEXPECTED_SAFE_CALL!>?.<!>out<!UNSAFE_CALL!>.<!>println(a + b)
} }
@@ -8,11 +8,11 @@ interface B {
open class D: B open class D: B
open <!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED_WARNING!>class C<!>: D(), A open <!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class C<!>: D(), A
// ------------ // ------------
<!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED_WARNING!>class Test<!>: Impl(), CProvider <!MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED!>class Test<!>: Impl(), CProvider
open class CC open class CC
@@ -52,19 +52,19 @@ fun foo(a: A?) {
a?.w.inc() a?.w.inc()
if (a != null) { if (a != null) {
a<!UNNECESSARY_SAFE_CALL!>?.<!>l += 1 a<!UNNECESSARY_SAFE_CALL!>?.<!>l <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>+=<!> 1
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0] <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]<!>
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]++ <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER, NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]<!>++
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0] = 1 <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]<!> = 1
a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0][0] <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0]<!>[0]
a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0][0]++ <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0]<!>[0]++
a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0][0] = 1 <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0]<!>[0] = 1
// No warning is reported because // No warning is reported because
// 1. All kinds of green code with safe+call + invoke we identified fails with CCE if `a != null`, anyway // 1. All kinds of green code with safe+call + invoke we identified fails with CCE if `a != null`, anyway
// 2. In case of null value, the behavior is intended (no call performed) // 2. In case of null value, the behavior is intended (no call performed)
a<!UNNECESSARY_SAFE_CALL!>?.<!>q() a<!UNNECESSARY_SAFE_CALL!>?.<!>q()
a<!UNNECESSARY_SAFE_CALL!>?.<!>w++ a<!UNNECESSARY_SAFE_CALL!>?.<!>w<!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>++<!>
(a<!UNNECESSARY_SAFE_CALL!>?.<!>l) += 1 (a<!UNNECESSARY_SAFE_CALL!>?.<!>l) += 1
(a<!UNNECESSARY_SAFE_CALL!>?.<!>l)[0] (a<!UNNECESSARY_SAFE_CALL!>?.<!>l)[0]
@@ -7,9 +7,9 @@ fun fooShort(p: Short) = p
fun test() { fun test() {
fooInt(1 % 1) fooInt(1 % 1)
fooByte(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>) fooByte(<!TYPE_MISMATCH!>1 % 1<!>)
fooLong(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>) fooLong(<!TYPE_MISMATCH!>1 % 1<!>)
fooShort(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>) fooShort(<!TYPE_MISMATCH!>1 % 1<!>)
} }
public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0 public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0
@@ -10,8 +10,8 @@ fun takeUBytes(vararg u: UByte) {}
fun takeNullableUInt(u: UInt?) {} fun takeNullableUInt(u: UInt?) {}
fun test() { fun test() {
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1 + 2<!>) takeUInt(<!TYPE_MISMATCH!>1 + 2<!>)
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1.plus(2)<!>) takeUInt(<!TYPE_MISMATCH!>1.plus(2)<!>)
takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>) takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>)
takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>) takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>)
@@ -33,7 +33,7 @@ fun test() {
takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>) takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>)
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4294967294<!>) takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4294967294<!>)
takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>40 + 2<!>) takeUBytes(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>2<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>255<!>, <!CONSTANT_EXPECTED_TYPE_MISMATCH, SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>256<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>0<!>, <!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED, TYPE_MISMATCH!>-1<!>, <!TYPE_MISMATCH!>40 + 2<!>)
takeUInt(<!TYPE_MISMATCH!>1.myPlus(2)<!>) takeUInt(<!TYPE_MISMATCH!>1.myPlus(2)<!>)