forbid lambda in conditional inside cast context

This commit is contained in:
Anna Kozlova
2014-02-24 18:59:42 +01:00
parent 232f8bd465
commit f1b256f416
2 changed files with 2 additions and 1 deletions
@@ -115,7 +115,7 @@ public class LambdaUtil {
context instanceof PsiExpressionList ||
context instanceof PsiParenthesizedExpression ||
context instanceof PsiArrayInitializerExpression ||
context instanceof PsiConditionalExpression;
context instanceof PsiConditionalExpression && PsiTreeUtil.getParentOfType(context, PsiTypeCastExpression.class) == null;
}
public static boolean isLambdaFullyInferred(PsiLambdaExpression expression, PsiType functionalInterfaceType) {
@@ -23,5 +23,6 @@ interface II {
class Test1 {
void bar(boolean b){
II ik = b ? (s)-> true : (s)->false;
II ik1 = (II)(b ? <error descr="Lambda expression not expected here">(s)-> true</error> : <error descr="Lambda expression not expected here">(s)->false</error>);
}
}