From 8072d235efe50d7f42476a85e7a6473ffa78b66c Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 9 Dec 2013 21:16:46 +0400 Subject: [PATCH] IDEA-117894 Incorrect warning of 'non-varags methods overrides varargs method' --- .../ProblematicVarargsMethodOverrideInspection.java | 2 +- ...roblematicVarargsMethodOverrideInspectionTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspection.java index bf121ff8c08a..c9605e7f2518 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspection.java @@ -66,7 +66,7 @@ public class ProblematicVarargsMethodOverrideInspection extends BaseInspection { } final PsiParameter parameter = parameters[parameters.length - 1]; final PsiType type = parameter.getType(); - if (!(type instanceof PsiArrayType)) { + if (!(type instanceof PsiArrayType) || type instanceof PsiEllipsisType) { return; } final PsiMethod[] superMethods = method.findDeepestSuperMethods(); diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspectionTest.java index 46ec84b1c9fb..036feda6492d 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/inheritance/ProblematicVarargsMethodOverrideInspectionTest.java @@ -34,6 +34,17 @@ public class ProblematicVarargsMethodOverrideInspectionTest extends LightInspect "}"); } + public void testVarargsOverriding() { + doTest("class One {" + + " void m(String... ss) {" + + " }" + + "}" + + "class Two extends One {" + + " void m(String... ss) {" + + " }" + + "}"); + } + @Override protected InspectionProfileEntry getInspection() { return new ProblematicVarargsMethodOverrideInspection();