Add inspection that reports unused equals expression #KT-6217 Fixed

This commit is contained in:
shiraji
2016-12-21 15:58:25 +09:00
committed by Mikhail Glukhikh
parent 73845bfc27
commit 778289fefe
7 changed files with 217 additions and 0 deletions
@@ -0,0 +1,82 @@
<problems>
<problem>
<file>test.kt</file>
<line>4</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>5</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>8</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>13</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>14</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>18</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>38</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="simple.kt"/>
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>61</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
<problem>
<file>test.kt</file>
<line>61</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused equals expression</problem_class>
<description>Unused equals expression</description>
</problem>
</problems>
@@ -0,0 +1 @@
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.UnusedEqualsInspection
+64
View File
@@ -0,0 +1,64 @@
// WITH_RUNTIME
fun foo(a: Int, b: Int) {
a == b // not used
a == 1 // not used
foo2 {
a == b // not used
a == b // used
}
foo3 {
a == b // not used
a == b // not used
}
val e = a == b // used
a == b // not used
}
fun foo2(c: () -> Boolean) {
}
fun foo3(d: () -> Unit) {
}
fun foo4(a: Int): Boolean {
return a == 1 // used
}
fun foo5(a: Int) = a == 1 // used
fun foo6(a: Int) {
foo2 {
fun foo7() {
a == 1 // not used
}
}
}
fun foo7(a: Int) {
run {
a == b // used as return value of run
}
if (a == b) return // used
}
fun foo8(a: Int) {
val eq = if (a > 1) a == 10 else a == -1 // used
val eq2 = if (a > 1) {
a == 10 // used
}
else {
a == -1 // used
}
if (a > 1) a == 10 else a == -1 // both unused
if (a == 10) {} else if (a == -1) {} // both used
}