diff --git a/java/java-psi-api/src/com/intellij/psi/PsiFunctionalExpression.java b/java/java-psi-api/src/com/intellij/psi/PsiFunctionalExpression.java index 2afbe46754d1..28290da31342 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiFunctionalExpression.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiFunctionalExpression.java @@ -25,4 +25,9 @@ public interface PsiFunctionalExpression extends PsiExpression, Iconable, Naviga */ @Nullable PsiType getFunctionalInterfaceType(); + + /** + * @return true if assignment SAM s = expr is correctly shaped + */ + boolean isAcceptable(PsiType left); } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLambdaExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLambdaExpressionImpl.java index f1f310615050..738b835a527d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLambdaExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiLambdaExpressionImpl.java @@ -167,6 +167,11 @@ public class PsiLambdaExpressionImpl extends ExpressionPsiElement implements Psi return true; } + @Override + public boolean isAcceptable(PsiType left) { + return isAcceptable(left, false); + } + @Override public boolean isAcceptable(PsiType leftType, boolean checkReturnType) { if (leftType instanceof PsiIntersectionType) {