Supported default objects in unused symbol inspection.

This commit is contained in:
Evgeny Gerashchenko
2015-03-11 23:39:24 +03:00
parent 70a925317a
commit c875584d0c
7 changed files with 129 additions and 78 deletions
@@ -1,23 +0,0 @@
package defaultObject
class A {
default object {
}
}
class B {
default object NamedUnused {
}
}
class C {
default object NamedUsed {
}
}
fun main(args: Array<String>) {
A()
B()
C()
C.NamedUsed
}
@@ -0,0 +1,14 @@
class A {
default object {
}
}
class B {
default object Named {
}
}
fun main(args: Array<String>) {
A()
B()
}
@@ -0,0 +1,14 @@
class A {
default object {
}
}
class B {
default object Named {
}
}
fun main(args: Array<String>) {
val a = A
B.Named
}
@@ -0,0 +1,9 @@
import defaultObjectUsedInJava.*
class JavaUsage {
public static void main(String[] args) {
System.out.println(A.CONST + C.CONST);
B.foo();
D.foo();
}
}
@@ -0,0 +1,29 @@
package defaultObjectUsedInJava
import kotlin.platform.platformStatic
class A {
default object {
val CONST = 42
}
}
class B {
default object {
platformStatic fun foo() {
}
}
}
class C {
default object Named {
val CONST = 42
}
}
class D {
default object Named {
platformStatic fun foo() {
}
}
}
@@ -31,4 +31,22 @@
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused Symbol</problem_class>
<description>Object 'A' is never used</description>
</problem>
<problem>
<file>defaultObjectUnused.kt</file>
<line>2</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/defaultObjectUnused.kt" />
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused Symbol</problem_class>
<description>Object 'Default' is never used</description>
</problem>
<problem>
<file>defaultObjectUnused.kt</file>
<line>7</line>
<module>light_idea_test_case</module>
<entry_point TYPE="file" FQNAME="temp:///src/defaultObjectUnused.kt" />
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused Symbol</problem_class>
<description>Object 'Named' is never used</description>
</problem>
</problems>