From 94ad86e79e40a723ad339f71184a9a59be187b22 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 15 Dec 2011 18:23:44 +0400 Subject: [PATCH] Patch by Sergey Ignatov: KT-841 Add constructor by default for abstract classes from Java --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 9be475af778..9a2bd50a811 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -163,7 +163,11 @@ public class JavaDescriptorResolver { PsiMethod[] psiConstructors = psiClass.getConstructors(); if (psiConstructors.length == 0) { - if (!psiClass.hasModifierProperty(PsiModifier.ABSTRACT) && !psiClass.isInterface()) { + // We need to create default constructors for classes and abstract classes. + // Example: + // class Kotlin() : Java() {} + // abstract public class Java {} + if (!psiClass.isInterface()) { ConstructorDescriptorImpl constructorDescriptor = new ConstructorDescriptorImpl( classDescriptor, Collections.emptyList(),