change signature from usage: ensure not substitute parameter type from call site (IDEA-146284)

This commit is contained in:
Anna Kozlova
2015-10-12 20:15:41 +02:00
parent d13663483d
commit 249d8ca4ba
3 changed files with 21 additions and 1 deletions
@@ -294,7 +294,7 @@ public class ChangeMethodSignatureFromUsageFix implements IntentionAction/*, Hig
if (buf.length() > 0) buf.append(", ");
final PsiType parameterType = PsiUtil.convertAnonymousToBaseType(paramType);
final String presentableText = escapePresentableType(parameterType);
final ParameterInfoImpl parameterInfo = new ParameterInfoImpl(pi, parameter.getName(), parameterType);
final ParameterInfoImpl parameterInfo = new ParameterInfoImpl(pi, parameter.getName(), parameter.getType());
if (TypeConversionUtil.areTypesAssignmentCompatible(paramType, expression)) {
buf.append(presentableText);
result.add(parameterInfo);
@@ -0,0 +1,10 @@
// "Remove 2nd parameter from method 'update'" "true"
class Test<T> {
void update(T a) {}
public static void main(String[] args) {
Test<String> instance = new Test<>();
instance.update("string1");
}
}
@@ -0,0 +1,10 @@
// "Remove 2nd parameter from method 'update'" "true"
class Test<T> {
void update(T a, String b) {}
public static void main(String[] args) {
Test<String> instance = new Test<>();
instance.update("string<caret>1");
}
}