From 1fe3f840710b72204cfb9e609ea86f70541000a6 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 14 Aug 2017 17:36:38 +0200 Subject: [PATCH] Don't search twice for the same declaration --- .../kotlin/idea/inspections/UnusedSymbolInspection.kt | 6 ++++-- .../unusedSymbol/object/companionObjectUsedInJava.kt | 4 ++-- .../unusedSymbol/object/companionObjectWithStatics.kt | 2 +- .../inspections/unusedSymbol/property/usedInJava.java | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt index 927cbee795f..f570baa64f5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt @@ -276,8 +276,10 @@ class UnusedSymbolInspection : AbstractKotlinInspection() { if (declaration is KtCallableDeclaration) { val lightMethods = declaration.toLightMethods() - for (method in lightMethods) { - if (!MethodReferencesSearch.search(method).forEach(::checkReference)) return true + if (lightMethods.isNotEmpty()) { + return lightMethods.any { method -> + !MethodReferencesSearch.search(method).forEach(::checkReference) + } } } diff --git a/idea/testData/inspections/unusedSymbol/object/companionObjectUsedInJava.kt b/idea/testData/inspections/unusedSymbol/object/companionObjectUsedInJava.kt index 9af462362ec..16fd5ad6873 100644 --- a/idea/testData/inspections/unusedSymbol/object/companionObjectUsedInJava.kt +++ b/idea/testData/inspections/unusedSymbol/object/companionObjectUsedInJava.kt @@ -2,7 +2,7 @@ package companionObjectUsedInJava class A { companion object { - val CONST = 42 + @JvmField val CONST = 42 } } @@ -15,7 +15,7 @@ class B { class C { companion object Named { - val CONST = 42 + @JvmField val CONST = 42 } } diff --git a/idea/testData/inspections/unusedSymbol/object/companionObjectWithStatics.kt b/idea/testData/inspections/unusedSymbol/object/companionObjectWithStatics.kt index 2d824484be0..c46232e1a17 100644 --- a/idea/testData/inspections/unusedSymbol/object/companionObjectWithStatics.kt +++ b/idea/testData/inspections/unusedSymbol/object/companionObjectWithStatics.kt @@ -5,6 +5,6 @@ class Foo { @JvmStatic fun foo() { } - val CONST = 111 + @JvmField val CONST = 111 } } \ No newline at end of file diff --git a/idea/testData/inspections/unusedSymbol/property/usedInJava.java b/idea/testData/inspections/unusedSymbol/property/usedInJava.java index 009e636245d..41e12680f25 100644 --- a/idea/testData/inspections/unusedSymbol/property/usedInJava.java +++ b/idea/testData/inspections/unusedSymbol/property/usedInJava.java @@ -7,6 +7,6 @@ class usedInJava { public static void main(String[] args) { UsedInJavaKt.getUsedByGetter(); UsedInJavaKt.setUsedBySetter(":|"); - System.out.println(Obj.CONST); + System.out.println(Obj.getCONST()); } } \ No newline at end of file