mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
preserve generics signature on inner class make static fix (IDEA-135223)
This commit is contained in:
+4
-2
@@ -111,8 +111,10 @@ public class InnerClassMayBeStaticInspection extends BaseInspection {
|
||||
if (argumentList == null) {
|
||||
continue;
|
||||
}
|
||||
final PsiExpression expression =
|
||||
factory.createExpressionFromText("new " + classReference.getQualifiedName() + argumentList.getText(), innerClass);
|
||||
final PsiReferenceParameterList parameterList = classReference.getParameterList();
|
||||
final String genericParameters = parameterList != null ? parameterList.getText() : "";
|
||||
final PsiExpression expression = factory
|
||||
.createExpressionFromText("new " + classReference.getQualifiedName() + genericParameters + argumentList.getText(), innerClass);
|
||||
codeStyleManager.shortenClassReferences(newExpression.replace(expression));
|
||||
}
|
||||
final PsiModifierList modifiers = innerClass.getModifierList();
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
class IdeaTest {
|
||||
|
||||
public void test(){
|
||||
print(new InnerClass<Integer>().foo(Integer.valueOf(1)));
|
||||
}
|
||||
|
||||
public void print(Integer foo){
|
||||
System.out.println(foo);
|
||||
}
|
||||
|
||||
static class InnerClass<T>{
|
||||
public T foo(T bar){
|
||||
return bar;
|
||||
}
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
class IdeaTest {
|
||||
|
||||
public void test(){
|
||||
print(new InnerClass<Integer>().foo(Integer.valueOf(1)));
|
||||
}
|
||||
|
||||
public void print(Integer foo){
|
||||
System.out.println(foo);
|
||||
}
|
||||
|
||||
class Inn<caret>erClass<T>{
|
||||
public T foo(T bar){
|
||||
return bar;
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -33,8 +33,6 @@ public class InnerClassMayBeStaticFixTest extends IGQuickFixesTestCase {
|
||||
}
|
||||
|
||||
public void testSimple() { doTest(); }
|
||||
|
||||
public void testAnonymousInside() {
|
||||
doTest();
|
||||
}
|
||||
public void testAnonymousInside() { doTest(); }
|
||||
public void testPreserveGenericSignature() { doTest(); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user