From def5e21e6a82e236c9ee021ce3d96b47a193de9e Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 20 Feb 2013 19:25:22 +0100 Subject: [PATCH] lambda: restore void-compatibility checks --- .../src/com/intellij/psi/LambdaHighlightingUtil.java | 4 ++-- .../lambda/highlighting/IncompatibleReturnTypes.java | 2 +- .../lambda/highlighting/TypeArgsConsistencyWithoutParams.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/LambdaHighlightingUtil.java b/java/java-psi-api/src/com/intellij/psi/LambdaHighlightingUtil.java index 024abd833667..e8b8e1d68a70 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaHighlightingUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaHighlightingUtil.java @@ -41,10 +41,10 @@ public class LambdaHighlightingUtil { if (body instanceof PsiCodeBlock) { if (!LambdaUtil.getReturnExpressions(lambdaExpression).isEmpty()) return "Unexpected return value"; } else if (body instanceof PsiExpression) { - /*final PsiType type = ((PsiExpression)body).getType(); + final PsiType type = ((PsiExpression)body).getType(); if (type != PsiType.VOID) { return "Incompatible return type " + (type == PsiType.NULL || type == null ? "" : type.getPresentableText()) +" in lambda expression"; - }*/ + } } } else if (functionalInterfaceReturnType != null) { final List returnExpressions = LambdaUtil.getReturnExpressions(lambdaExpression); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/IncompatibleReturnTypes.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/IncompatibleReturnTypes.java index bf3a9a2be83d..7c16a8b75723 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/IncompatibleReturnTypes.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/IncompatibleReturnTypes.java @@ -7,7 +7,7 @@ class Test1 { VoidReturnType aI = () -> System.out.println(); VoidReturnType aI1 = () -> {System.out.println();}; VoidReturnType aI2 = () -> {return 1;}; - VoidReturnType aI3 = () -> 1; + VoidReturnType aI3 = () -> 1; VoidReturnType aI4 = () -> {return;}; } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/TypeArgsConsistencyWithoutParams.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/TypeArgsConsistencyWithoutParams.java index 5ae10bfdd8fa..aec273457668 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/TypeArgsConsistencyWithoutParams.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/TypeArgsConsistencyWithoutParams.java @@ -20,7 +20,7 @@ class Test5 { static void bar(I i){} { - bar(() -> null); + bar(() -> null); } } class Test6 { @@ -31,7 +31,7 @@ class Test6 { static void bar(I i){} { - bar(() -> null); + bar(() -> null); bar(() -> {}); } }