From cbbeec37901e00da4ca113b26573064783ef2373 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 24 Apr 2015 20:45:10 +0300 Subject: [PATCH] Change Signature: Keep base function descriptor in JetParameterInfo --- .../quickfix/AddFunctionParametersFix.java | 5 +- .../ChangeFunctionLiteralSignatureFix.java | 4 +- .../quickfix/ChangeFunctionSignatureFix.java | 4 +- .../CreateParameterActionFactory.kt | 14 +++- ...teParameterByNamedArgumentActionFactory.kt | 1 + .../JetCallableParameterTableModel.java | 6 +- .../changeSignature/JetChangeInfo.kt | 3 +- .../changeSignature/JetChangeSignatureData.kt | 3 +- .../JetChangeSignatureDialog.java | 4 +- .../JetFunctionParameterTableModel.java | 3 +- .../changeSignature/JetParameterInfo.kt | 17 ++--- ...PrimaryConstructorParameterTableModel.java | 5 +- ...condaryConstructorParameterTableModel.java | 5 +- .../KotlinIntroduceParameterHandler.kt | 3 +- .../JetChangeSignatureTest.java | 69 ++++++++++++------- 15 files changed, 96 insertions(+), 50 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.java index c10b1cff474..4894f131ebc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionParametersFix.java @@ -122,7 +122,7 @@ public class AddFunctionParametersFix extends ChangeFunctionSignatureFix { return new JetChangeSignatureConfiguration() { @NotNull @Override - public JetMethodDescriptor configure(@NotNull JetMethodDescriptor originalDescriptor, @NotNull final BindingContext bindingContext) { + public JetMethodDescriptor configure(@NotNull final JetMethodDescriptor originalDescriptor, @NotNull final BindingContext bindingContext) { return ChangeSignaturePackage.modify( originalDescriptor, new ExtensionFunction0() { @@ -147,7 +147,8 @@ public class AddFunctionParametersFix extends ChangeFunctionSignatureFix { } } else { - JetParameterInfo parameterInfo = getNewParameterInfo(bindingContext, argument, validator); + JetParameterInfo parameterInfo = + getNewParameterInfo(originalDescriptor.getBaseDescriptor(), bindingContext, argument, validator); typesToShorten.add(parameterInfo.getOriginalType()); if (expression != null) { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionLiteralSignatureFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionLiteralSignatureFix.java index b086b416159..a0d25fbfbd5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionLiteralSignatureFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionLiteralSignatureFix.java @@ -72,7 +72,9 @@ public class ChangeFunctionLiteralSignatureFix extends ChangeFunctionSignatureFi descriptor.clearNonReceiverParameters(); for (JetType type : parameterTypes) { String name = JetNameSuggester.suggestNames(type, validator, "param")[0]; - descriptor.addParameter(new JetParameterInfo(-1, name, type, null, null, JetValVar.None, null)); + descriptor.addParameter( + new JetParameterInfo(functionDescriptor, -1, name, type, null, null, JetValVar.None, null) + ); } return null; } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionSignatureFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionSignatureFix.java index d0e8855cbbb..e5ba5ce082e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionSignatureFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeFunctionSignatureFix.java @@ -112,6 +112,7 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction() as? JetClass } @@ -112,7 +112,15 @@ object CreateParameterActionFactory: JetSingleIntentionActionFactory() { if (paramType.hasTypeParametersToAdd(functionDescriptor, context)) return null - return CreateParameterFromUsageFix(functionDescriptor, context, parameterInfo, refExpr) + return CreateParameterFromUsageFix( + functionDescriptor, + context, + JetParameterInfo(functionDescriptor = functionDescriptor, + name = refExpr.getReferencedName(), + type = paramType, + valOrVar = valOrVar), + refExpr + ) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt index 90f76c5d02d..25c5fa9d1ac 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterByNamedArgumentActionFactory.kt @@ -60,6 +60,7 @@ public object CreateParameterByNamedArgumentActionFactory: JetSingleIntentionAct if (paramType.hasTypeParametersToAdd(functionDescriptor, context)) return null val parameterInfo = JetParameterInfo( + functionDescriptor = functionDescriptor, name = name, type = paramType, defaultValueForCall = argumentExpression diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetCallableParameterTableModel.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetCallableParameterTableModel.java index 7c1f6bc087f..ac8c0d280a4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetCallableParameterTableModel.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetCallableParameterTableModel.java @@ -30,9 +30,11 @@ import static org.jetbrains.kotlin.psi.PsiPackage.JetPsiFactory; public abstract class JetCallableParameterTableModel extends ParameterTableModelBase> { private final Project project; + private final JetMethodDescriptor methodDescriptor; - protected JetCallableParameterTableModel(PsiElement context, ColumnInfo... columnInfos) { + protected JetCallableParameterTableModel(JetMethodDescriptor methodDescriptor, PsiElement context, ColumnInfo... columnInfos) { super(context, context, columnInfos); + this.methodDescriptor = methodDescriptor; project = context.getProject(); } @@ -44,7 +46,7 @@ public abstract class JetCallableParameterTableModel extends ParameterTableModel @Override protected ParameterTableModelItemBase createRowItem(@Nullable JetParameterInfo parameterInfo) { if (parameterInfo == null) { - parameterInfo = new JetParameterInfo(-1, "", null, null, null, JetValVar.None, null); + parameterInfo = new JetParameterInfo(methodDescriptor.getBaseDescriptor(), -1, "", null, null, null, JetValVar.None, null); } JetPsiFactory psiFactory = JetPsiFactory(project); PsiCodeFragment paramTypeCodeFragment = psiFactory.createTypeCodeFragment(parameterInfo.getTypeText(), myTypeContext); diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeInfo.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeInfo.kt index 1d03c5a79c9..341dec68967 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeInfo.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeInfo.kt @@ -305,7 +305,8 @@ public fun ChangeInfo.toJetChangeInfo(originalChangeSignatureDescriptor: JetMeth } else null - with(JetParameterInfo(originalIndex = oldIndex, + with(JetParameterInfo(functionDescriptor = functionDescriptor, + originalIndex = oldIndex, name = info.getName(), type = if (oldIndex >= 0) originalParameterDescriptors[oldIndex].getType() else currentType, defaultValueForCall = defaultValueExpr)) { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt index c26adfa820b..d93079dd8e4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt @@ -60,6 +60,7 @@ public class JetChangeSignatureData( .mapTo(receiver?.let{ arrayListOf(it) } ?: arrayListOf()) { parameterDescriptor -> val jetParameter = valueParameters?.get(parameterDescriptor.getIndex()) JetParameterInfo( + functionDescriptor = baseDescriptor, originalIndex = parameterDescriptor.getIndex(), name = parameterDescriptor.getName().asString(), type = parameterDescriptor.getType(), @@ -82,7 +83,7 @@ public class JetChangeSignatureData( } ?: CollectingValidator(paramNames) val receiverType = baseDescriptor.getExtensionReceiverParameter()?.getType() ?: return null val receiverName = JetNameSuggester.suggestNames(receiverType, validator, "receiver").first() - return JetParameterInfo(name = receiverName, type = receiverType) + return JetParameterInfo(functionDescriptor = baseDescriptor, name = receiverName, type = receiverType) } override val primaryFunctions: Collection> by Delegates.lazy { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java index 06d5630855e..aaac774a021 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java @@ -97,9 +97,9 @@ public class JetChangeSignatureDialog extends ChangeSignatureDialogBase< case FUNCTION: return new JetFunctionParameterTableModel(descriptor, myDefaultValueContext); case PRIMARY_CONSTRUCTOR: - return new JetPrimaryConstructorParameterTableModel(myDefaultValueContext); + return new JetPrimaryConstructorParameterTableModel(descriptor, myDefaultValueContext); case SECONDARY_CONSTRUCTOR: - return new JetSecondaryConstructorParameterTableModel(myDefaultValueContext); + return new JetSecondaryConstructorParameterTableModel(descriptor, myDefaultValueContext); } throw new AssertionError("Invalid kind: " + descriptor.getKind()); } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetFunctionParameterTableModel.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetFunctionParameterTableModel.java index c00eea6c495..2663e5a5c42 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetFunctionParameterTableModel.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetFunctionParameterTableModel.java @@ -30,7 +30,8 @@ import javax.swing.table.TableCellRenderer; public class JetFunctionParameterTableModel extends JetCallableParameterTableModel { public JetFunctionParameterTableModel(JetMethodDescriptor methodDescriptor, PsiElement context) { - super(context, + super(methodDescriptor, + context, new NameColumn(context.getProject()), new TypeColumn(context.getProject(), JetFileType.INSTANCE), new DefaultValueColumn>(context.getProject(), diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetParameterInfo.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetParameterInfo.kt index 77cf7ed58ad..c0e2e15eb01 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetParameterInfo.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetParameterInfo.kt @@ -16,19 +16,20 @@ package org.jetbrains.kotlin.idea.refactoring.changeSignature -import com.intellij.lang.ASTNode -import com.intellij.refactoring.changeSignature.ParameterInfo -import org.jetbrains.kotlin.psi.JetExpression -import org.jetbrains.kotlin.types.JetType -import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers -import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.JetFunctionDefinitionUsage import com.intellij.psi.PsiElement +import com.intellij.refactoring.changeSignature.ParameterInfo +import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor -import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils -import org.jetbrains.kotlin.psi.JetParameter +import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.JetFunctionDefinitionUsage +import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers +import org.jetbrains.kotlin.psi.JetExpression import org.jetbrains.kotlin.psi.JetModifierList +import org.jetbrains.kotlin.psi.JetParameter +import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils +import org.jetbrains.kotlin.types.JetType public class JetParameterInfo( + val functionDescriptor: FunctionDescriptor, val originalIndex: Int = -1, private var name: String, type: JetType? = null, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetPrimaryConstructorParameterTableModel.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetPrimaryConstructorParameterTableModel.java index 7ca5f00bae1..186b3a2fc84 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetPrimaryConstructorParameterTableModel.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetPrimaryConstructorParameterTableModel.java @@ -29,8 +29,9 @@ import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; public class JetPrimaryConstructorParameterTableModel extends JetCallableParameterTableModel { - public JetPrimaryConstructorParameterTableModel(PsiElement context) { - super(context, + public JetPrimaryConstructorParameterTableModel(JetMethodDescriptor methodDescriptor, PsiElement context) { + super(methodDescriptor, + context, new ValVarColumn(), new NameColumn(context.getProject()), new TypeColumn(context.getProject(), JetFileType.INSTANCE), diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetSecondaryConstructorParameterTableModel.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetSecondaryConstructorParameterTableModel.java index 370d59000cd..0e7722650aa 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetSecondaryConstructorParameterTableModel.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetSecondaryConstructorParameterTableModel.java @@ -21,8 +21,9 @@ import com.intellij.refactoring.changeSignature.ParameterTableModelItemBase; import org.jetbrains.kotlin.idea.JetFileType; public class JetSecondaryConstructorParameterTableModel extends JetCallableParameterTableModel { - public JetSecondaryConstructorParameterTableModel(PsiElement context) { - super(context, + public JetSecondaryConstructorParameterTableModel(JetMethodDescriptor methodDescriptor, PsiElement context) { + super(methodDescriptor, + context, new NameColumn(context.getProject()), new TypeColumn(context.getProject(), JetFileType.INSTANCE), new DefaultValueColumn>(context.getProject(), JetFileType.INSTANCE)); diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt index 8a5d2ee4969..cf2c7190895 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt @@ -124,7 +124,8 @@ fun IntroduceParameterDescriptor.performRefactoring() { parametersToRemove.map { parameters.indexOf(it) }.sortDescending().forEach { removeParameter(it) } } - val parameterInfo = JetParameterInfo(name = newParameterName, + val parameterInfo = JetParameterInfo(functionDescriptor = callableDescriptor, + name = newParameterName, defaultValueForCall = if (withDefaultValue) null else newArgumentValue, defaultValueForParameter = if (withDefaultValue) newArgumentValue else null, valOrVar = valVar) 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 33884cfeb90..042246aab60 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureTest.java @@ -109,7 +109,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); changeInfo.setNewVisibility(Visibilities.PROTECTED); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); - JetParameterInfo newParameter = new JetParameterInfo(-1, "x", KotlinBuiltIns.getInstance().getAnyType(), + JetParameterInfo newParameter = new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "x", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("12"), JetValVar.Val, null); changeInfo.addParameter(newParameter); doTest(changeInfo); @@ -174,7 +175,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { public void testExpressionFunction() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); changeInfo.getNewParameters()[0].setName("x1"); - changeInfo.addParameter(new JetParameterInfo(-1, "y1", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null)); + changeInfo.addParameter(new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "y1", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null)); doTest(changeInfo); } @@ -185,14 +187,16 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { changeInfo.setNewParameter(1, changeInfo.getNewParameters()[0]); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo newParameter = - new JetParameterInfo(-1, "x0", KotlinBuiltIns.getInstance().getNullableAnyType(), null, psiFactory.createExpression("null"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "x0", KotlinBuiltIns.getInstance().getNullableAnyType(), null, psiFactory.createExpression("null"), JetValVar.None, null); changeInfo.setNewParameter(0, newParameter); doTest(changeInfo); } public void testFakeOverride() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); - JetParameterInfo newParameter = new JetParameterInfo(-1, "i", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null); + JetParameterInfo newParameter = new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "i", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null); changeInfo.addParameter(newParameter); doTest(changeInfo); } @@ -200,7 +204,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { public void testFunctionLiteral() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); changeInfo.getNewParameters()[1].setName("y1"); - changeInfo.addParameter(new JetParameterInfo(-1, "x", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null)); + changeInfo.addParameter(new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "x", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null)); changeInfo.setNewReturnTypeText("Int"); doTest(changeInfo); } @@ -292,7 +297,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { public void testOverridesInEnumEntries() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); - JetParameterInfo newParameter = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, null, JetValVar.None, null); + JetParameterInfo newParameter = new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, null, JetValVar.None, null); changeInfo.addParameter(newParameter); doTest(changeInfo); } @@ -301,7 +307,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo newParameter = - new JetParameterInfo(-1, "n", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("1"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "n", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("1"), JetValVar.None, null); changeInfo.addParameter(newParameter); doTest(changeInfo); } @@ -318,7 +325,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo newParameter = - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"abc\""), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"abc\""), JetValVar.None, null); changeInfo.addParameter(newParameter); doTest(changeInfo); } @@ -327,10 +335,12 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"abc\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"abc\""), JetValVar.None, null) ); changeInfo.addParameter( - new JetParameterInfo(-1, "o", KotlinBuiltIns.getInstance().getNullableAnyType(), null, psiFactory.createExpression("\"def\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "o", KotlinBuiltIns.getInstance().getNullableAnyType(), null, psiFactory.createExpression("\"def\""), JetValVar.None, null) ); doTest(changeInfo); } @@ -567,13 +577,15 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { public void testParameterModifiers() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); - changeInfo.addParameter(new JetParameterInfo(-1, "n", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null)); + changeInfo.addParameter(new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "n", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null)); doTest(changeInfo); } public void testFqNameShortening() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); - JetParameterInfo parameterInfo = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null); + JetParameterInfo parameterInfo = new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null); parameterInfo.setCurrentTypeText("kotlin.String"); changeInfo.addParameter(parameterInfo); doTest(changeInfo); @@ -587,7 +599,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { public void testParameterListAddParam() throws Exception { JetChangeInfo changeInfo = getChangeInfo(); - changeInfo.addParameter(new JetParameterInfo(-1, "l", KotlinBuiltIns.getInstance().getLongType(), null, null, JetValVar.None, null)); + changeInfo.addParameter(new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "l", KotlinBuiltIns.getInstance().getLongType(), null, null, JetValVar.None, null)); doTest(changeInfo); } @@ -609,7 +622,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo parameterInfo = - new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); parameterInfo.setCurrentTypeText("X"); changeInfo.setReceiverParameterInfo(parameterInfo); doTest(changeInfo); @@ -619,7 +633,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo parameterInfo = - new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); parameterInfo.setCurrentTypeText("X"); changeInfo.setReceiverParameterInfo(parameterInfo); doTest(changeInfo); @@ -629,7 +644,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo parameterInfo = - new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); parameterInfo.setCurrentTypeText("X"); changeInfo.setReceiverParameterInfo(parameterInfo); doTestConflict(changeInfo); @@ -639,7 +655,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); JetParameterInfo parameterInfo = - new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null); parameterInfo.setCurrentTypeText("X"); changeInfo.setReceiverParameterInfo(parameterInfo); doTestConflict(changeInfo); @@ -752,7 +769,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)); + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)); doTest(changeInfo); } @@ -778,7 +796,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) ); doTest(changeInfo); } @@ -787,7 +806,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) ); doTest(changeInfo); } @@ -796,7 +816,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) ); doTest(changeInfo); } @@ -805,7 +826,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null) ); doTest(changeInfo); } @@ -832,7 +854,8 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase { JetChangeInfo changeInfo = getChangeInfo(); JetPsiFactory psiFactory = new JetPsiFactory(getProject()); changeInfo.addParameter( - new JetParameterInfo(-1, "i", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("0"), JetValVar.None, null) + new JetParameterInfo(changeInfo.getMethodDescriptor().getBaseDescriptor(), + -1, "i", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("0"), JetValVar.None, null) ); doTest(changeInfo); }