FIR checker: report REDUNDANT_LABEL_WARNING
Since many labels are not present in the FIR tree, this checker is implemented as a syntax checker. Comparing with FE1.0, this change reports some REDUNDANT_LABEL_WARNING that FE1.0 has missed, especially LHS of assignments.
This commit is contained in:
committed by
TeamCityServer
parent
cbc9d08623
commit
363b25504d
+2
-2
@@ -1,3 +1,3 @@
|
||||
fun test() {
|
||||
(d@ val bar = 2)
|
||||
}
|
||||
(<!REDUNDANT_LABEL_WARNING!>d@<!> val bar = 2)
|
||||
}
|
||||
|
||||
+5
-5
@@ -6,19 +6,19 @@ import checkSubtype
|
||||
|
||||
fun test(i: Int?) {
|
||||
if (i != null) {
|
||||
foo(l1@ i)
|
||||
foo(<!REDUNDANT_LABEL_WARNING!>l1@<!> i)
|
||||
foo((i))
|
||||
foo(l2@ (i))
|
||||
foo((l3@ i))
|
||||
foo(<!REDUNDANT_LABEL_WARNING!>l2@<!> (i))
|
||||
foo((<!REDUNDANT_LABEL_WARNING!>l3@<!> i))
|
||||
}
|
||||
|
||||
val a: Int = <!INITIALIZER_TYPE_MISMATCH!>l4@ ""<!>
|
||||
val a: Int = <!INITIALIZER_TYPE_MISMATCH!><!REDUNDANT_LABEL_WARNING!>l4@<!> ""<!>
|
||||
val b: Int = <!INITIALIZER_TYPE_MISMATCH!>("")<!>
|
||||
val c: Int = checkSubtype<Int>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
val d: Int = <!INITIALIZER_TYPE_MISMATCH!>checkSubtype<Long>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)<!>
|
||||
|
||||
|
||||
foo(l4@ <!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
foo(<!REDUNDANT_LABEL_WARNING!>l4@<!> <!ARGUMENT_TYPE_MISMATCH!>""<!>)
|
||||
foo((<!ARGUMENT_TYPE_MISMATCH!>""<!>))
|
||||
foo(checkSubtype<Int>(<!ARGUMENT_TYPE_MISMATCH!>""<!>))
|
||||
foo(<!ARGUMENT_TYPE_MISMATCH!>checkSubtype<Long>(<!ARGUMENT_TYPE_MISMATCH!>""<!>)<!>)
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
fun f(s : String?) : Boolean {
|
||||
return foo@(s?.equals("a"))!!
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun f(s : String?) : Boolean {
|
||||
return <!REDUNDANT_LABEL_WARNING!>foo@<!>(s?.equals("a"))!!
|
||||
}
|
||||
Reference in New Issue
Block a user