From c14959d04c4e5efce7c77cc89084440ee22cc3a4 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 6 Sep 2017 10:50:42 +0300 Subject: [PATCH] explicit type -> diamond: don't walk up throw lambda with explicit type --- .../src/com/intellij/psi/impl/PsiDiamondTypeUtil.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 4681764c4ff0..6a04c16d6ce0 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 @@ -153,9 +153,8 @@ public class PsiDiamondTypeUtil { typeElement = ((PsiVariable)gParent).getTypeElement(); } else if (gParent instanceof PsiReturnStatement) { - PsiMethod method = PsiTreeUtil.getParentOfType(gParent, PsiMethod.class); - LOG.assertTrue(method != null); - typeElement = method.getReturnTypeElement(); + PsiElement method = PsiTreeUtil.getParentOfType(gParent, PsiMethod.class, PsiLambdaExpression.class); + typeElement = method instanceof PsiMethod ? ((PsiMethod)method).getReturnTypeElement() : null; } return typeElement != null && PsiAugmentProvider.getInferredType(typeElement) != null; }