diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/usages/JetFunctionDefinitionUsage.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/usages/JetFunctionDefinitionUsage.java index 4216d12aa6e..0f611f11a9e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/usages/JetFunctionDefinitionUsage.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/usages/JetFunctionDefinitionUsage.java @@ -182,7 +182,7 @@ public class JetFunctionDefinitionUsage extends JetUsageIn boolean returnTypeIsNeeded = (changeInfo.isRefactoringTarget(originalFunctionDescriptor) || !(function instanceof JetFunctionLiteral) || function.getTypeReference() != null) && - !(function instanceof JetSecondaryConstructor); + !(function instanceof JetConstructor); if (changeInfo.isReturnTypeChanged() && returnTypeIsNeeded) { function.setTypeReference(null); String returnTypeText = changeInfo.renderReturnType((JetFunctionDefinitionUsage) this); diff --git a/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefAfter.kt b/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefAfter.kt new file mode 100644 index 00000000000..0bda54276f3 --- /dev/null +++ b/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefAfter.kt @@ -0,0 +1,7 @@ +class A(n: Int) { + +} + +fun test() { + A(1) +} \ No newline at end of file diff --git a/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefBefore.kt b/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefBefore.kt new file mode 100644 index 00000000000..c78e6a8a149 --- /dev/null +++ b/idea/testData/refactoring/changeSignature/PrimaryConstructorByRefBefore.kt @@ -0,0 +1,7 @@ +class A() { + +} + +fun test() { + A() +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java index b7a39581505..5929cc7cd0e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java @@ -939,6 +939,16 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { doTest(changeInfo); } + public void testPrimaryConstructorByRef() throws Exception { + JetChangeInfo changeInfo = getChangeInfo(); + JetPsiFactory psiFactory = new JetPsiFactory(getProject()); + JetParameterInfo newParameter = new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "n", KotlinBuiltIns.getInstance().getIntType(), null, + psiFactory.createExpression("1"), JetValVar.None, null); + changeInfo.addParameter(newParameter); + doTest(changeInfo); + } + @NotNull @Override protected String getTestDataPath() {