From fb31980c0b3f35657a64ba80fe795e37e7b71cf7 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 9 Sep 2015 14:37:26 +0300 Subject: [PATCH] Fix EA-68149 which happened on editing Scala sources --- .../kotlin/load/java/structure/impl/JavaClassImpl.java | 9 ++++++++- .../impl/JavaElementCollectionFromPsiArrayUtil.java | 2 +- 2 files changed, 9 insertions(+), 2 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 d7f9e5d13dd..06cdb56f763 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 @@ -122,7 +122,14 @@ public class JavaClassImpl extends JavaClassifierImpl implements JavaC @Override @NotNull public Collection getConstructors() { - return constructors(getPsi().getConstructors()); + return constructors(KotlinPackage.filter(getPsi().getConstructors(), new Function1() { + @Override + public Boolean invoke(PsiMethod method) { + // See for example org.jetbrains.plugins.scala.lang.psi.light.ScFunctionWrapper, + // which is present in getConstructors(), but its isConstructor() returns false + return method.isConstructor(); + } + })); } @Override 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 f4767910b58..28c0b8efd11 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 @@ -178,7 +178,7 @@ public class JavaElementCollectionFromPsiArrayUtil { } @NotNull - public static Collection constructors(@NotNull PsiMethod[] methods) { + public static Collection constructors(@NotNull Iterable methods) { return convert(methods, Factories.CONSTRUCTORS); }