From b946d725d71c0b6a09920034e5b0da53827c9d5b Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 27 Jan 2016 22:34:13 +0300 Subject: [PATCH] Filter out methods without return type to fix EA-73795 --- .../kotlin/load/java/structure/impl/JavaClassImpl.java | 3 ++- .../impl/JavaElementCollectionFromPsiArrayUtil.java | 5 ----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.java b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.java index a6baab4d529..5e0c868f5ce 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassImpl.java @@ -101,7 +101,8 @@ public class JavaClassImpl extends JavaClassifierImpl implements JavaC return methods(ArraysKt.filter(getPsi().getMethods(), new Function1() { @Override public Boolean invoke(PsiMethod method) { - return !method.isConstructor(); + // Return type seems to be null for example for the 'clone' Groovy method generated by @AutoClone (see EA-73795) + return !method.isConstructor() && method.getReturnType() != null; } })); } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementCollectionFromPsiArrayUtil.java b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementCollectionFromPsiArrayUtil.java index ef9a0190592..9eb37dc484f 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementCollectionFromPsiArrayUtil.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaElementCollectionFromPsiArrayUtil.java @@ -167,11 +167,6 @@ public class JavaElementCollectionFromPsiArrayUtil { }); } - @NotNull - public static Collection methods(@NotNull PsiMethod[] methods) { - return convert(methods, Factories.METHODS); - } - @NotNull public static Collection methods(@NotNull Iterable methods) { return convert(methods, Factories.METHODS);