From 9b0292f4c05759f4c1fe1cc360fe1877b6296f1e Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 7 Oct 2015 15:00:10 +0300 Subject: [PATCH] Fixed incorrect filtering of super constructors by visibility in Parameter Info --- .../kotlin/resolve/calls/CallResolver.java | 2 ++ .../functionCall/SuperConstructorCall.kt | 14 ++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java index 3b084800402..877acc8b075 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java @@ -336,6 +336,8 @@ public class CallResolver { assert !context.call.getExplicitReceiver().exists() : "Constructor can't be invoked with explicit receiver: " + context.call.getCallElement().getText(); + context.trace.record(BindingContext.LEXICAL_SCOPE, context.call.getCallElement(), context.scope); + JetReferenceExpression functionReference = expression.getConstructorReferenceExpression(); JetTypeReference typeReference = expression.getTypeReference(); if (functionReference == null || typeReference == null) { diff --git a/idea/testData/parameterInfo/functionCall/SuperConstructorCall.kt b/idea/testData/parameterInfo/functionCall/SuperConstructorCall.kt index ecc0bb88bcd..44871a7e697 100644 --- a/idea/testData/parameterInfo/functionCall/SuperConstructorCall.kt +++ b/idea/testData/parameterInfo/functionCall/SuperConstructorCall.kt @@ -1,9 +1,11 @@ open class A(x: Int) { + protected constructor() : this(1) {} + private constructor(p: String) : this(2) {} } -class B(): A(5) { - fun m() { - A(3) - } -} -//Text: (x: Int), Disabled: false, Strikeout: false, Green: true \ No newline at end of file +class B(): A(5) + +/* +Text: (x: Int), Disabled: false, Strikeout: false, Green: true +Text: (), Disabled: true, Strikeout: false, Green: false +*/ \ No newline at end of file