diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureTargetUtil.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureTargetUtil.java index 5c947f4c48bb..b4735a329f85 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureTargetUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureTargetUtil.java @@ -35,10 +35,11 @@ public class ChangeSignatureTargetUtil { return PsiTreeUtil.getParentOfType(element, PsiMethod.class); } - final PsiMethodCallExpression expression = PsiTreeUtil.getParentOfType(element, PsiMethodCallExpression.class); + final PsiCallExpression expression = PsiTreeUtil.getParentOfType(element, PsiCallExpression.class); if (expression != null) { assert element != null; - final PsiExpression qualifierExpression = expression.getMethodExpression().getQualifierExpression(); + final PsiExpression qualifierExpression = expression instanceof PsiMethodCallExpression ? ((PsiMethodCallExpression)expression).getMethodExpression().getQualifierExpression() + : expression instanceof PsiNewExpression ? ((PsiNewExpression)expression).getQualifier() : null; if (PsiTreeUtil.isAncestor(qualifierExpression, element, false)) { final PsiExpressionList expressionList = PsiTreeUtil.getParentOfType(qualifierExpression, PsiExpressionList.class); if (expressionList != null) { diff --git a/java/java-tests/testData/refactoring/changeSignatureTarget/inTypeArguments.java b/java/java-tests/testData/refactoring/changeSignatureTarget/inTypeArguments.java index d0fb0a13392e..088e9bbcc97d 100644 --- a/java/java-tests/testData/refactoring/changeSignatureTarget/inTypeArguments.java +++ b/java/java-tests/testData/refactoring/changeSignatureTarget/inTypeArguments.java @@ -1,5 +1,7 @@ import java.util.*; class A1 { + A1(){} + public static void main(String[] args) { Callable callable = new Callable() {