diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiDiamondTypeUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiDiamondTypeUtil.java index dcd510084428..65546943498b 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiDiamondTypeUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiDiamondTypeUtil.java @@ -239,6 +239,10 @@ public class PsiDiamondTypeUtil { } } + if (typeByParent != null) { + return true; + } + PsiCallExpression newParentCall = exprCopy != null ? PsiTreeUtil.getParentOfType(exprCopy, PsiCallExpression.class) : null; PsiCallExpression oldParentCall = PsiTreeUtil.getParentOfType(context, PsiCallExpression.class); if (newParentCall != null && oldParentCall != null && diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/afterExpectedTypeJava1.7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/afterExpectedTypeJava1.7.java new file mode 100644 index 000000000000..be0aa0f654d8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/afterExpectedTypeJava1.7.java @@ -0,0 +1,12 @@ +// "Replace with <>" "true" +import java.util.*; + +class MyTest { + private static void foo() { + Map> radinv = new TreeMap<>(); + List idxs = null; + radinv.put("null", idxs = new ArrayList<>()); + } + + +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeExpectedTypeJava1.7.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeExpectedTypeJava1.7.java new file mode 100644 index 000000000000..f41ebff480b9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/explicit2diamond/beforeExpectedTypeJava1.7.java @@ -0,0 +1,12 @@ +// "Replace with <>" "true" +import java.util.*; + +class MyTest { + private static void foo() { + Map> radinv = new TreeMap<>(); + List idxs = null; + radinv.put("null", idxs = new ArrayListeger>()); + } + + +}