Refactoring: Represent call-site default value of JetParameterInfo as JetExpression
This commit is contained in:
@@ -151,7 +151,7 @@ public class AddFunctionParametersFix extends ChangeFunctionSignatureFix {
|
||||
typesToShorten.add(parameterInfo.getOriginalType());
|
||||
|
||||
if (expression != null) {
|
||||
parameterInfo.setDefaultValueForCall(expression.getText());
|
||||
parameterInfo.setDefaultValueForCall(expression);
|
||||
}
|
||||
|
||||
descriptor.addParameter(parameterInfo);
|
||||
|
||||
@@ -72,7 +72,7 @@ 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, "", JetValVar.None, null));
|
||||
descriptor.addParameter(new JetParameterInfo(-1, name, type, null, null, JetValVar.None, null));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction<PsiE
|
||||
JetExpression expression = argument.getArgumentExpression();
|
||||
JetType type = expression != null ? bindingContext.getType(expression) : null;
|
||||
type = type != null ? type : KotlinBuiltIns.getInstance().getNullableAnyType();
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, name, type, null, "", JetValVar.None, null);
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, name, type, null, null, JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText(IdeDescriptorRenderers.SOURCE_CODE.renderType(type));
|
||||
|
||||
return parameterInfo;
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ public object CreateParameterByNamedArgumentActionFactory: JetSingleIntentionAct
|
||||
val parameterInfo = JetParameterInfo(
|
||||
name = name,
|
||||
type = paramType,
|
||||
defaultValueForCall = argumentExpression.getText() ?: ""
|
||||
defaultValueForCall = argumentExpression
|
||||
)
|
||||
return CreateParameterFromUsageFix(functionDescriptor, context, parameterInfo, argument)
|
||||
}
|
||||
|
||||
+7
-2
@@ -23,6 +23,7 @@ import com.intellij.refactoring.changeSignature.ParameterTableModelBase;
|
||||
import com.intellij.refactoring.changeSignature.ParameterTableModelItemBase;
|
||||
import com.intellij.util.ui.ColumnInfo;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.psi.JetExpression;
|
||||
import org.jetbrains.kotlin.psi.JetPsiFactory;
|
||||
|
||||
import static org.jetbrains.kotlin.psi.PsiPackage.JetPsiFactory;
|
||||
@@ -43,11 +44,15 @@ public abstract class JetCallableParameterTableModel extends ParameterTableModel
|
||||
@Override
|
||||
protected ParameterTableModelItemBase<JetParameterInfo> createRowItem(@Nullable JetParameterInfo parameterInfo) {
|
||||
if (parameterInfo == null) {
|
||||
parameterInfo = new JetParameterInfo(-1, "", null, null, "", JetValVar.None, null);
|
||||
parameterInfo = new JetParameterInfo(-1, "", null, null, null, JetValVar.None, null);
|
||||
}
|
||||
JetPsiFactory psiFactory = JetPsiFactory(project);
|
||||
PsiCodeFragment paramTypeCodeFragment = psiFactory.createTypeCodeFragment(parameterInfo.getTypeText(), myTypeContext);
|
||||
PsiCodeFragment defaultValueCodeFragment = psiFactory.createExpressionCodeFragment(parameterInfo.getDefaultValueForCall(), myDefaultValueContext);
|
||||
JetExpression defaultValueForCall = parameterInfo.getDefaultValueForCall();
|
||||
PsiCodeFragment defaultValueCodeFragment = psiFactory.createExpressionCodeFragment(
|
||||
defaultValueForCall != null ? defaultValueForCall.getText() : "",
|
||||
myDefaultValueContext
|
||||
);
|
||||
return new ParameterTableModelItemBase<JetParameterInfo>(parameterInfo, paramTypeCodeFragment, defaultValueCodeFragment) {
|
||||
@Override
|
||||
public boolean isEllipsisType() {
|
||||
|
||||
@@ -17,10 +17,8 @@
|
||||
package org.jetbrains.kotlin.idea.refactoring.changeSignature
|
||||
|
||||
import com.intellij.lang.Language
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.PsiModifier
|
||||
import com.intellij.psi.PsiType
|
||||
import com.intellij.lang.java.JavaLanguage
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.refactoring.changeSignature.*
|
||||
import com.intellij.usageView.UsageInfo
|
||||
import com.intellij.util.VisibilityUtil
|
||||
@@ -34,6 +32,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.idea.JetLanguage
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.*
|
||||
import org.jetbrains.kotlin.idea.core.refactoring.j2k
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.JetFunctionDefinitionUsage
|
||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||
import java.util.HashMap
|
||||
@@ -255,7 +254,7 @@ public class JetChangeInfo(
|
||||
else -> -1
|
||||
}
|
||||
|
||||
ParameterInfoImpl(javaOldIndex, info.getName(), type, info.defaultValueForCall)
|
||||
ParameterInfoImpl(javaOldIndex, info.getName(), type, info.defaultValueForCall?.getText() ?: "")
|
||||
}.copyToArray()
|
||||
|
||||
val returnType = if (isPrimaryMethodUpdated) currentPsiMethod.getReturnType() else PsiType.VOID
|
||||
@@ -298,10 +297,18 @@ public fun ChangeInfo.toJetChangeInfo(originalChangeSignatureDescriptor: JetMeth
|
||||
val oldIndex = info.getOldIndex()
|
||||
val currentType = parameterDescriptors[i].getType()
|
||||
|
||||
val defaultValueText = info.getDefaultValue()
|
||||
val defaultValueExpr = if (getLanguage().`is`(JavaLanguage.INSTANCE) && !defaultValueText.isNullOrEmpty()) {
|
||||
PsiElementFactory.SERVICE.getInstance(method.getProject())
|
||||
.createExpressionFromText(defaultValueText!!, null)
|
||||
.j2k(originalChangeSignatureDescriptor.baseDeclaration)
|
||||
}
|
||||
else null
|
||||
|
||||
with(JetParameterInfo(originalIndex = oldIndex,
|
||||
name = info.getName(),
|
||||
type = if (oldIndex >= 0) originalParameterDescriptors[oldIndex].getType() else currentType,
|
||||
defaultValueForCall = info.getDefaultValue() ?: "")) {
|
||||
defaultValueForCall = defaultValueExpr)) {
|
||||
currentTypeText = IdeDescriptorRenderers.SOURCE_CODE.renderType(currentType)
|
||||
this
|
||||
}
|
||||
|
||||
+4
-1
@@ -54,6 +54,7 @@ import org.jetbrains.kotlin.descriptors.Visibilities;
|
||||
import org.jetbrains.kotlin.descriptors.Visibility;
|
||||
import org.jetbrains.kotlin.idea.JetFileType;
|
||||
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringBundle;
|
||||
import org.jetbrains.kotlin.psi.JetExpressionCodeFragment;
|
||||
import org.jetbrains.kotlin.psi.JetTypeCodeFragment;
|
||||
import org.jetbrains.kotlin.types.JetType;
|
||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetMethodDescriptor.Kind;
|
||||
@@ -456,7 +457,9 @@ public class JetChangeSignatureDialog extends ChangeSignatureDialogBase<
|
||||
for (int i = 0; i < parameters.size(); i++) {
|
||||
JetParameterInfo parameter = parameters.get(i);
|
||||
parameter.setCurrentTypeText(myParametersTableModel.getItems().get(i).typeCodeFragment.getText().trim());
|
||||
parameter.setDefaultValueForCall(myParametersTableModel.getItems().get(i).defaultValueCodeFragment.getText().trim());
|
||||
JetExpressionCodeFragment codeFragment =
|
||||
(JetExpressionCodeFragment) myParametersTableModel.getItems().get(i).defaultValueCodeFragment;
|
||||
parameter.setDefaultValueForCall(codeFragment.getContentElement());
|
||||
}
|
||||
|
||||
String returnTypeText = myReturnTypeCodeFragment != null ? myReturnTypeCodeFragment.getText().trim() : "";
|
||||
|
||||
@@ -33,7 +33,7 @@ public class JetParameterInfo(
|
||||
private var name: String,
|
||||
type: JetType? = null,
|
||||
var defaultValueForParameter: JetExpression? = null,
|
||||
var defaultValueForCall: String = "",
|
||||
var defaultValueForCall: JetExpression? = null,
|
||||
var valOrVar: JetValVar = JetValVar.None,
|
||||
val modifierList: JetModifierList? = null
|
||||
): ParameterInfo {
|
||||
|
||||
+5
-3
@@ -100,7 +100,8 @@ public class JetFunctionCallUsage extends JetUsageInfo<JetCallElement> {
|
||||
else
|
||||
parametersBuilder.append(',');
|
||||
|
||||
String defaultValueText = parameterInfo.getDefaultValueForCall();
|
||||
JetExpression defaultValueForCall = parameterInfo.getDefaultValueForCall();
|
||||
String defaultValueText = defaultValueForCall != null ? defaultValueForCall.getText() : "";
|
||||
|
||||
if (isNamedCall) {
|
||||
String newName = parameterInfo.getInheritedName(callee);
|
||||
@@ -157,7 +158,7 @@ public class JetFunctionCallUsage extends JetUsageInfo<JetCallElement> {
|
||||
: oldArgument.asElement());
|
||||
}
|
||||
// TODO: process default arguments in the middle
|
||||
else if (parameterInfo.getDefaultValueForCall().isEmpty()) {
|
||||
else if (parameterInfo.getDefaultValueForCall() == null) {
|
||||
if (parameterInfo.getDefaultValueForParameter() != null) {
|
||||
JetPsiUtil.deleteElementWithDelimiters(newArgument);
|
||||
}
|
||||
@@ -183,9 +184,10 @@ public class JetFunctionCallUsage extends JetUsageInfo<JetCallElement> {
|
||||
if (newReceiverInfo != null) {
|
||||
ValueArgument receiverArgument = argumentMap.get(newReceiverInfo.getOldIndex());
|
||||
JetExpression extensionReceiverExpression = receiverArgument != null ? receiverArgument.getArgumentExpression() : null;
|
||||
JetExpression defaultValueForCall = newReceiverInfo.getDefaultValueForCall();
|
||||
String receiverText = extensionReceiverExpression != null
|
||||
? extensionReceiverExpression.getText()
|
||||
: newReceiverInfo.getDefaultValueForCall();
|
||||
: defaultValueForCall != null ? defaultValueForCall.getText() : "";
|
||||
if (receiverText.isEmpty()) {
|
||||
receiverText = "_";
|
||||
}
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ fun IntroduceParameterDescriptor.performRefactoring() {
|
||||
}
|
||||
|
||||
val parameterInfo = JetParameterInfo(name = newParameterName,
|
||||
defaultValueForCall = if (withDefaultValue) "" else newArgumentValue.getText(),
|
||||
defaultValueForCall = if (withDefaultValue) null else newArgumentValue,
|
||||
defaultValueForParameter = if (withDefaultValue) newArgumentValue else null,
|
||||
valOrVar = valVar)
|
||||
parameterInfo.currentTypeText = newParameterTypeText
|
||||
|
||||
@@ -80,6 +80,11 @@ import com.intellij.lang.java.JavaLanguage
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.CreateFromUsageUtils
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||
import org.jetbrains.kotlin.idea.j2k.IdeaResolverForConverter
|
||||
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
|
||||
import org.jetbrains.kotlin.j2k.ConverterSettings
|
||||
import org.jetbrains.kotlin.j2k.IdeaReferenceSearcher
|
||||
import org.jetbrains.kotlin.j2k.JavaToKotlinConverter
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
|
||||
fun <T: Any> PsiElement.getAndRemoveCopyableUserData(key: Key<T>): T? {
|
||||
@@ -552,3 +557,17 @@ fun createJavaClass(klass: JetClass, targetClass: PsiClass): PsiMember {
|
||||
|
||||
return javaClass
|
||||
}
|
||||
|
||||
fun PsiExpression.j2k(postProcessingContext: PsiElement): JetExpression? {
|
||||
if (getLanguage() != JavaLanguage.INSTANCE) return null
|
||||
|
||||
val project = getProject()
|
||||
val j2kConverter = JavaToKotlinConverter(project,
|
||||
ConverterSettings.defaultSettings,
|
||||
IdeaReferenceSearcher,
|
||||
IdeaResolverForConverter,
|
||||
J2kPostProcessor(true))
|
||||
val inputElements = Collections.singletonList(JavaToKotlinConverter.InputElement(this, postProcessingContext))
|
||||
val text = j2kConverter.elementsToKotlin(inputElements).results.singleOrNull()?.text ?: return null
|
||||
return JetPsiFactory(getProject()).createExpression(text)
|
||||
}
|
||||
+60
-23
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringBundle;
|
||||
import org.jetbrains.kotlin.psi.JetElement;
|
||||
import org.jetbrains.kotlin.psi.JetPsiFactory;
|
||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
||||
import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsPackage;
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
|
||||
@@ -107,8 +108,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
public void testAddConstructorVisibility() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.setNewVisibility(Visibilities.PROTECTED);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "x", KotlinBuiltIns.getInstance().getAnyType(),
|
||||
null, "12", JetValVar.Val, null);
|
||||
null, psiFactory.createExpression("12"), JetValVar.Val, null);
|
||||
changeInfo.addParameter(newParameter);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
@@ -172,7 +174,7 @@ 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, "", JetValVar.None, null));
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "y1", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null));
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
@@ -181,14 +183,16 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
changeInfo.setNewVisibility(Visibilities.INTERNAL);
|
||||
changeInfo.setNewParameter(2, changeInfo.getNewParameters()[1]);
|
||||
changeInfo.setNewParameter(1, changeInfo.getNewParameters()[0]);
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "x0", KotlinBuiltIns.getInstance().getNullableAnyType(), null, "null", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo newParameter =
|
||||
new JetParameterInfo(-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, "", JetValVar.None, null);
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "i", KotlinBuiltIns.getInstance().getIntType(), null, null, JetValVar.None, null);
|
||||
changeInfo.addParameter(newParameter);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
@@ -196,7 +200,7 @@ 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, "", JetValVar.None, null));
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "x", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null));
|
||||
changeInfo.setNewReturnTypeText("Int");
|
||||
doTest(changeInfo);
|
||||
}
|
||||
@@ -288,14 +292,16 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testOverridesInEnumEntries() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "", JetValVar.None, null);
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, null, JetValVar.None, null);
|
||||
changeInfo.addParameter(newParameter);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
public void testEnumEntriesWithoutSuperCalls() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "n", KotlinBuiltIns.getInstance().getIntType(), null, "1", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo newParameter =
|
||||
new JetParameterInfo(-1, "n", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("1"), JetValVar.None, null);
|
||||
changeInfo.addParameter(newParameter);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
@@ -310,16 +316,22 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testConstructorJavaUsages() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo newParameter = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"abc\"", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo newParameter =
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"abc\""), JetValVar.None, null);
|
||||
changeInfo.addParameter(newParameter);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
public void testFunctionJavaUsagesAndOverridesAddParam() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"abc\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "o", KotlinBuiltIns.getInstance().getNullableAnyType(), null, "\"def\"", JetValVar.None, null));
|
||||
new JetParameterInfo(-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)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
@@ -555,13 +567,13 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testParameterModifiers() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "n", KotlinBuiltIns.getInstance().getIntType(), null, "", JetValVar.None, null));
|
||||
changeInfo.addParameter(new JetParameterInfo(-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, "", JetValVar.None, null);
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getAnyType(), null, null, JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText("kotlin.String");
|
||||
changeInfo.addParameter(parameterInfo);
|
||||
doTest(changeInfo);
|
||||
@@ -575,7 +587,7 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testParameterListAddParam() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "l", KotlinBuiltIns.getInstance().getLongType(), null, "", JetValVar.None, null));
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "l", KotlinBuiltIns.getInstance().getLongType(), null, null, JetValVar.None, null));
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
@@ -595,7 +607,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testAddNewReceiver() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, "X(0)", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo parameterInfo =
|
||||
new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText("X");
|
||||
changeInfo.setReceiverParameterInfo(parameterInfo);
|
||||
doTest(changeInfo);
|
||||
@@ -603,7 +617,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testAddNewReceiverForMember() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, "X(0)", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo parameterInfo =
|
||||
new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText("X");
|
||||
changeInfo.setReceiverParameterInfo(parameterInfo);
|
||||
doTest(changeInfo);
|
||||
@@ -611,7 +627,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testAddNewReceiverForMemberConflict() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, "X(0)", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo parameterInfo =
|
||||
new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText("X");
|
||||
changeInfo.setReceiverParameterInfo(parameterInfo);
|
||||
doTestConflict(changeInfo);
|
||||
@@ -619,7 +637,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testAddNewReceiverConflict() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
JetParameterInfo parameterInfo = new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, "X(0)", JetValVar.None, null);
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
JetParameterInfo parameterInfo =
|
||||
new JetParameterInfo(-1, "_", KotlinBuiltIns.getInstance().getAnyType(), null, psiFactory.createExpression("X(0)"), JetValVar.None, null);
|
||||
parameterInfo.setCurrentTypeText("X");
|
||||
changeInfo.setReceiverParameterInfo(parameterInfo);
|
||||
doTestConflict(changeInfo);
|
||||
@@ -730,7 +750,9 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testSecondaryConstructor() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"foo\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null));
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
@@ -754,25 +776,37 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testPrimaryConstructorByThisRef() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"foo\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
public void testPrimaryConstructorBySuperRef() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"foo\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
public void testSecondaryConstructorByThisRef() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"foo\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
public void testSecondaryConstructorBySuperRef() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, "\"foo\"", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "s", KotlinBuiltIns.getInstance().getStringType(), null, psiFactory.createExpression("\"foo\""), JetValVar.None, null)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
@@ -796,7 +830,10 @@ public class JetChangeSignatureTest extends KotlinCodeInsightTestCase {
|
||||
|
||||
public void testNoConflictWithReceiverName() throws Exception {
|
||||
JetChangeInfo changeInfo = getChangeInfo();
|
||||
changeInfo.addParameter(new JetParameterInfo(-1, "i", KotlinBuiltIns.getInstance().getIntType(), null, "0", JetValVar.None, null));
|
||||
JetPsiFactory psiFactory = new JetPsiFactory(getProject());
|
||||
changeInfo.addParameter(
|
||||
new JetParameterInfo(-1, "i", KotlinBuiltIns.getInstance().getIntType(), null, psiFactory.createExpression("0"), JetValVar.None, null)
|
||||
);
|
||||
doTest(changeInfo);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user