diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index c1eaf8c015d..1477adccfbb 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -317,6 +317,7 @@ class FunctionDescriptorResolver( DescriptorUtils.getDefaultConstructorVisibility(classDescriptor) ) ) + constructor.returnType = classDescriptor.defaultType if (DescriptorUtils.isAnnotationClass(classDescriptor)) { CompileTimeConstantUtils.checkConstructorParametersType(valueParameters, trace) } diff --git a/compiler/testData/ir/irText/expressions/contructorCall.kt b/compiler/testData/ir/irText/expressions/contructorCall.kt new file mode 100644 index 00000000000..06e20e8e32a --- /dev/null +++ b/compiler/testData/ir/irText/expressions/contructorCall.kt @@ -0,0 +1,3 @@ +class A + +val test = A() \ No newline at end of file diff --git a/compiler/testData/ir/irText/expressions/contructorCall.txt b/compiler/testData/ir/irText/expressions/contructorCall.txt new file mode 100644 index 00000000000..059b6696cc2 --- /dev/null +++ b/compiler/testData/ir/irText/expressions/contructorCall.txt @@ -0,0 +1,14 @@ +FILE /contructorCall.kt + CLASS CLASS A + CONSTRUCTOR public constructor A() + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' + INSTANCE_INITIALIZER_CALL classDescriptor='A' + PROPERTY public val test: A + FIELD PROPERTY_BACKING_FIELD public val test: A + EXPRESSION_BODY + CALL 'constructor A()' type=A origin=null + FUN DEFAULT_PROPERTY_ACCESSOR public fun (): A + BLOCK_BODY + RETURN type=kotlin.Nothing from='(): A' + GET_FIELD 'test: A' type=A origin=null diff --git a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java index 593f9ceb262..36a6c965dc6 100644 --- a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java @@ -470,6 +470,12 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase { doTest(fileName); } + @TestMetadata("contructorCall.kt") + public void testContructorCall() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/expressions/contructorCall.kt"); + doTest(fileName); + } + @TestMetadata("conventionComparisons.kt") public void testConventionComparisons() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/ir/irText/expressions/conventionComparisons.kt");