From 3485d65d8aa5a447913f1ddd56f1998241661722 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 29 Aug 2014 15:39:39 +0400 Subject: [PATCH] Remove superfluous isVararg() from JavaMethod --- .../lang/resolve/java/structure/impl/JavaMethodImpl.java | 5 ----- .../lang/resolve/java/sam/SingleAbstractMethodUtils.java | 9 ++++++--- .../jet/lang/resolve/java/structure/JavaMethod.java | 2 -- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/structure/impl/JavaMethodImpl.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/structure/impl/JavaMethodImpl.java index d94b1b78247..18b478ea4f1 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/structure/impl/JavaMethodImpl.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/structure/impl/JavaMethodImpl.java @@ -69,9 +69,4 @@ public class JavaMethodImpl extends JavaMemberImpl implements JavaMet PsiType psiType = getPsi().getReturnType(); return psiType == null ? null : JavaTypeImpl.create(psiType); } - - @Override - public boolean isVararg() { - return getPsi().isVarArgs(); - } } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/sam/SingleAbstractMethodUtils.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/sam/SingleAbstractMethodUtils.java index d8845e7c2a7..713f2054f8d 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/sam/SingleAbstractMethodUtils.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/sam/SingleAbstractMethodUtils.java @@ -376,15 +376,18 @@ public class SingleAbstractMethodUtils { @NotNull JavaTypeSubstitutor substitutor2 ) { if (!method1.getName().equals(method2.getName())) return false; - if (method1.isVararg() != method2.isVararg()) return false; Collection parameters1 = method1.getValueParameters(); Collection parameters2 = method2.getValueParameters(); if (parameters1.size() != parameters2.size()) return false; for (Iterator it1 = parameters1.iterator(), it2 = parameters2.iterator(); it1.hasNext(); ) { - JavaType type1 = DescriptorResolverUtils.erasure(substitutor1.substitute(it1.next().getType()), substitutor1); - JavaType type2 = DescriptorResolverUtils.erasure(substitutor2.substitute(it2.next().getType()), substitutor2); + JavaValueParameter param1 = it1.next(); + JavaValueParameter param2 = it2.next(); + if (param1.isVararg() != param2.isVararg()) return false; + + JavaType type1 = DescriptorResolverUtils.erasure(substitutor1.substitute(param1.getType()), substitutor1); + JavaType type2 = DescriptorResolverUtils.erasure(substitutor2.substitute(param2.getType()), substitutor2); if (!(type1 == null ? type2 == null : type1.equals(type2))) return false; } diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/structure/JavaMethod.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/structure/JavaMethod.java index 07ec70b57c0..910abf96902 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/structure/JavaMethod.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/structure/JavaMethod.java @@ -29,6 +29,4 @@ public interface JavaMethod extends JavaMember, JavaTypeParameterListOwner { @Nullable JavaType getReturnType(); - - boolean isVararg(); }