diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionParametersFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionParametersFix.java index 3e6596c87d1..9e8b563cbd2 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionParametersFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/AddFunctionParametersFix.java @@ -44,12 +44,11 @@ public class AddFunctionParametersFix extends ChangeFunctionSignatureFix { private final boolean hasTypeMismatches; public AddFunctionParametersFix( - @NotNull PsiElement declaration, @NotNull JetCallElement callElement, @NotNull FunctionDescriptor functionDescriptor, boolean hasTypeMismatches ) { - super(declaration, callElement, functionDescriptor); + super(callElement, functionDescriptor); this.callElement = callElement; this.hasTypeMismatches = hasTypeMismatches; } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralSignatureFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralSignatureFix.java index 48ff9816eae..5a513ac97ba 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralSignatureFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionLiteralSignatureFix.java @@ -43,7 +43,7 @@ public class ChangeFunctionLiteralSignatureFix extends ChangeFunctionSignatureFi @NotNull JetFunctionLiteral functionLiteral, @NotNull FunctionDescriptor functionDescriptor, @NotNull List parameterTypes) { - super(functionLiteral, functionLiteral, functionDescriptor); + super(functionLiteral, functionDescriptor); this.parameterTypes = parameterTypes; } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java index b86e5105035..280567b13fa 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ChangeFunctionSignatureFix.java @@ -30,7 +30,6 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters1; import org.jetbrains.jet.lang.diagnostics.DiagnosticWithParameters2; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.BindingContextUtils; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.checker.JetTypeChecker; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; @@ -47,11 +46,10 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction parameters = functionDescriptor.getValueParameters(); @@ -206,7 +197,7 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction parameters.size()) { boolean hasTypeMismatches = hasTypeMismatches(parameters, arguments, bindingContext); - return new AddFunctionParametersFix(declaration, callElement, functionDescriptor, hasTypeMismatches); + return new AddFunctionParametersFix(callElement, functionDescriptor, hasTypeMismatches); } } diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionParametersFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionParametersFix.java index 4948b589a4b..584ec84e38c 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionParametersFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/RemoveFunctionParametersFix.java @@ -37,12 +37,11 @@ public class RemoveFunctionParametersFix extends ChangeFunctionSignatureFix { private final ValueParameterDescriptor parameterToRemove; public RemoveFunctionParametersFix( - @NotNull PsiElement element, @NotNull PsiElement context, @NotNull FunctionDescriptor functionDescriptor, @NotNull ValueParameterDescriptor parameterToRemove ) { - super(element, context, functionDescriptor); + super(context, functionDescriptor); this.parameterToRemove = parameterToRemove; } diff --git a/idea/testData/quickfix/changeSignature/afterAddParameterToFakeOverride.kt b/idea/testData/quickfix/changeSignature/afterAddParameterToFakeOverride.kt new file mode 100644 index 00000000000..c677e8445a7 --- /dev/null +++ b/idea/testData/quickfix/changeSignature/afterAddParameterToFakeOverride.kt @@ -0,0 +1,19 @@ +// "Add parameter to function 'f'" "true" +trait Z { + fun f(i: Int) +} + +trait ZZ { + fun f(i: Int) +} + +trait ZZZ: Z, ZZ { +} + +trait ZZZZ : ZZZ { + override fun f(i: Int) +} + +fun usage(z: ZZZ) { + z.f(3) +} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/afterRemoveParameterFromFakeOverride.kt b/idea/testData/quickfix/changeSignature/afterRemoveParameterFromFakeOverride.kt new file mode 100644 index 00000000000..b19dad47615 --- /dev/null +++ b/idea/testData/quickfix/changeSignature/afterRemoveParameterFromFakeOverride.kt @@ -0,0 +1,19 @@ +// "Remove parameter 'i'" "true" +trait Z { + fun f() +} + +trait ZZ { + fun f() +} + +trait ZZZ: Z, ZZ { +} + +trait ZZZZ : ZZZ { + override fun f() +} + +fun usage(z: ZZZ) { + z.f() +} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/beforeAddParameterToFakeOverride.kt b/idea/testData/quickfix/changeSignature/beforeAddParameterToFakeOverride.kt new file mode 100644 index 00000000000..a04b2b514bf --- /dev/null +++ b/idea/testData/quickfix/changeSignature/beforeAddParameterToFakeOverride.kt @@ -0,0 +1,19 @@ +// "Add parameter to function 'f'" "true" +trait Z { + fun f() +} + +trait ZZ { + fun f() +} + +trait ZZZ: Z, ZZ { +} + +trait ZZZZ : ZZZ { + override fun f() +} + +fun usage(z: ZZZ) { + z.f(3) +} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/beforeRemoveParameterFromFakeOverride.kt b/idea/testData/quickfix/changeSignature/beforeRemoveParameterFromFakeOverride.kt new file mode 100644 index 00000000000..234ffb36811 --- /dev/null +++ b/idea/testData/quickfix/changeSignature/beforeRemoveParameterFromFakeOverride.kt @@ -0,0 +1,19 @@ +// "Remove parameter 'i'" "true" +trait Z { + fun f(i: Int) +} + +trait ZZ { + fun f(i: Int) +} + +trait ZZZ: Z, ZZ { +} + +trait ZZZZ : ZZZ { + override fun f(i: Int) +} + +fun usage(z: ZZZ) { + z.f() +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java index 89427027c53..d50f825cfac 100644 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/QuickFixTestGenerated.java @@ -375,6 +375,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest("idea/testData/quickfix/changeSignature/beforeAddFunctionParameterAndChangeTypes.kt"); } + @TestMetadata("beforeAddParameterToFakeOverride.kt") + public void testAddParameterToFakeOverride() throws Exception { + doTest("idea/testData/quickfix/changeSignature/beforeAddParameterToFakeOverride.kt"); + } + public void testAllFilesPresentInChangeSignature() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/changeSignature"), Pattern.compile("^before(\\w+)\\.kt$"), true); } @@ -434,6 +439,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest("idea/testData/quickfix/changeSignature/beforeRemoveNamedParameter.kt"); } + @TestMetadata("beforeRemoveParameterFromFakeOverride.kt") + public void testRemoveParameterFromFakeOverride() throws Exception { + doTest("idea/testData/quickfix/changeSignature/beforeRemoveParameterFromFakeOverride.kt"); + } + @TestMetadata("beforeRemoveUnusedParameter.kt") public void testRemoveUnusedParameter() throws Exception { doTest("idea/testData/quickfix/changeSignature/beforeRemoveUnusedParameter.kt");