From 75575ba5084651fcf949c76f8ccb2ba6f6ea170b Mon Sep 17 00:00:00 2001 From: "Vitaliy.Bibaev" Date: Tue, 27 Mar 2018 15:52:29 +0300 Subject: [PATCH] IDEA-172425 Fix broken tests --- .../reflect/ReflectionAccessMethodBuilder.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/ReflectionAccessMethodBuilder.java b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/ReflectionAccessMethodBuilder.java index a04a96195ddd..8ff91d19ef58 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/ReflectionAccessMethodBuilder.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/ReflectionAccessMethodBuilder.java @@ -118,22 +118,24 @@ public class ReflectionAccessMethodBuilder { for (int i = 0; i < parameters.length; i++) { PsiParameter parameter = parameters[i]; String name = parameter.getName(); - String type = eraseGenerics(parameter.getType()); + PsiType parameterType = parameter.getType(); + PsiType erasedType = TypeConversionUtil.erasure(parameterType); + String typeName = typeName(parameterType, erasedType); + String jvmType = erasedType != null ? extractJvmType(erasedType) : typeName; if (name == null) { - LOG.info("Parameter name not found, index = " + i + ", type = " + type); + LOG.info("Parameter name not found, index = " + i + ", type = " + typeName); name = "arg" + i; } - myParameters.add(new ParameterInfo(type, name, extractJvmType(parameter.getType()))); + myParameters.add(new ParameterInfo(typeName, name, jvmType)); } return this; } @NotNull - private static String eraseGenerics(@NotNull PsiType type) { - PsiType erasedType = TypeConversionUtil.erasure(type); + private static String typeName(@NotNull PsiType type, @Nullable PsiType erasedType) { if (erasedType == null) { String typeName = type.getCanonicalText(); int typeParameterIndex = typeName.indexOf('<');