safe delete of constructor parameter: anonymous class usages are fixed

This commit is contained in:
Anna Kozlova
2014-12-05 19:21:39 +01:00
parent 1f88361d72
commit 5dece3bd80
4 changed files with 27 additions and 2 deletions
@@ -43,8 +43,13 @@ public class JavaSafeDeleteDelegateImpl implements JavaSafeDeleteDelegate {
if (element instanceof PsiCall) {
call = (PsiCall)element;
}
else if (element.getParent() instanceof PsiCall) {
call = (PsiCall)element.getParent();
else {
final PsiElement parent = element.getParent();
if (parent instanceof PsiCall) {
call = (PsiCall)parent;
} else if (parent instanceof PsiAnonymousClass) {
call = (PsiNewExpression)parent.getParent();
}
}
if (call != null) {
final PsiExpressionList argList = call.getArgumentList();
@@ -0,0 +1,8 @@
class X {
public X(int <caret>p) {
}
{
new X(1) {};
}
}
@@ -0,0 +1,8 @@
class X {
public X() {
}
{
new X() {};
}
}
@@ -88,6 +88,10 @@ public class SafeDeleteTest extends MultiFileTestCase {
doSingleFileTest();
}
public void testDeleteConstructorParameterWithAnonymousClassUsage() throws Exception {
doSingleFileTest();
}
public void testParameterInHierarchy() throws Exception {
doTest("C2");
}