From ea8e79d08d4dd4a6baca890eb11e3e47c0fa7adc Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Tue, 18 Apr 2017 14:19:05 +0200 Subject: [PATCH] IG: don't check super methods when method is static (thanks to Daniil Ovchinnikov) --- .../LambdaUnfriendlyMethodOverloadInspectionBase.java | 4 ++-- .../LambdaUnfriendlyMethodOverload.java | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java index 3b4cdb87a0b4..ddee5e4fb07b 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/naming/LambdaUnfriendlyMethodOverloadInspectionBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -78,7 +78,7 @@ public class LambdaUnfriendlyMethodOverloadInspectionBase extends BaseInspection return; } final String name = method.getName(); - for (PsiMethod sameNameMethod : containingClass.findMethodsByName(name, true)) { + for (PsiMethod sameNameMethod : containingClass.findMethodsByName(name, !method.hasModifierProperty(PsiModifier.STATIC))) { if (method.equals(sameNameMethod) || PsiSuperMethodUtil.isSuperMethod(method, sameNameMethod)) { continue; } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/naming/lambda_unfriendly_method_overload/LambdaUnfriendlyMethodOverload.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/naming/lambda_unfriendly_method_overload/LambdaUnfriendlyMethodOverload.java index 10b2fac9f05f..9a8bf14327a5 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/naming/lambda_unfriendly_method_overload/LambdaUnfriendlyMethodOverload.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/naming/lambda_unfriendly_method_overload/LambdaUnfriendlyMethodOverload.java @@ -55,4 +55,11 @@ class Generics { void m(IntFunction r, M l) {} void m(Function f, K l) {} +} +class A { + static void foo(Function f) {} +} + +class B extends A { + static void foo(IntFunction f) {} } \ No newline at end of file