[FE 1.0] Fix some diagnostic tests
This commit is contained in:
committed by
Mikhael Bogdanov
parent
c9c82ab3a6
commit
7250aed3b5
@@ -12,5 +12,5 @@ val s: String = "test"
|
||||
fun ff() {
|
||||
val a = <!NO_COMPANION_OBJECT!>Test<!><!UNEXPECTED_SAFE_CALL!>?.<!>FOO
|
||||
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 <!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
|
||||
|
||||
|
||||
@@ -52,19 +52,19 @@ fun foo(a: A?) {
|
||||
a?.w.inc()
|
||||
|
||||
if (a != null) {
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>l += 1
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]++
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0] = 1
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>l <!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>+=<!> 1
|
||||
<!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>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]<!>++
|
||||
<!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>l[0]<!> = 1
|
||||
|
||||
a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0][0]
|
||||
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]
|
||||
<!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0]<!>[0]++
|
||||
<!NULLABLE_EXTENSION_OPERATOR_WITH_SAFE_CALL_RECEIVER!>a<!UNNECESSARY_SAFE_CALL!>?.<!>ll[0]<!>[0] = 1
|
||||
// No warning is reported because
|
||||
// 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)
|
||||
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)[0]
|
||||
|
||||
@@ -7,9 +7,9 @@ fun fooShort(p: Short) = p
|
||||
|
||||
fun test() {
|
||||
fooInt(1 % 1)
|
||||
fooByte(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||
fooLong(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||
fooShort(<!INTEGER_OPERATOR_RESOLVE_WILL_CHANGE!>1 % 1<!>)
|
||||
fooByte(<!TYPE_MISMATCH!>1 % 1<!>)
|
||||
fooLong(<!TYPE_MISMATCH!>1 % 1<!>)
|
||||
fooShort(<!TYPE_MISMATCH!>1 % 1<!>)
|
||||
}
|
||||
|
||||
public operator fun Int.<!EXTENSION_SHADOWED_BY_MEMBER!>rem<!>(other: Int): Int = 0
|
||||
|
||||
+3
-3
@@ -10,8 +10,8 @@ fun takeUBytes(vararg u: UByte) {}
|
||||
fun takeNullableUInt(u: UInt?) {}
|
||||
|
||||
fun test() {
|
||||
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1 + 2<!>)
|
||||
takeUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>1.plus(2)<!>)
|
||||
takeUInt(<!TYPE_MISMATCH!>1 + 2<!>)
|
||||
takeUInt(<!TYPE_MISMATCH!>1.plus(2)<!>)
|
||||
takeNullableUInt(<!SIGNED_CONSTANT_CONVERTED_TO_UNSIGNED!>4<!>)
|
||||
|
||||
takeUInt(<!TYPE_MISMATCH!>Int.MAX_VALUE * 2L<!>)
|
||||
@@ -33,7 +33,7 @@ fun test() {
|
||||
takeUInt(<!INTEGER_OVERFLOW, TYPE_MISMATCH!>Int.MAX_VALUE * 2<!>)
|
||||
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)<!>)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user