From e7754593210824344e2eee88fb59eb996c54cd5c Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 15 Oct 2012 15:35:58 +0200 Subject: [PATCH] lambda: nested lambda return statements exclusion --- .../source/tree/java/PsiLambdaExpressionImpl.java | 4 ++++ .../lambda/highlighting/NestedLambdas.java | 14 ++++++++++++++ .../daemon/lambda/LambdaHighlightingTest.java | 4 ++++ 3 files changed, 22 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/NestedLambdas.java 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 9ca740903aae..539fbf4cbb15 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 @@ -77,6 +77,10 @@ public class PsiLambdaExpressionImpl extends ExpressionPsiElement implements Psi @Override public void visitClass(PsiClass aClass) { } + + @Override + public void visitLambdaExpression(PsiLambdaExpression expression) { + } }); } return result; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/NestedLambdas.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/NestedLambdas.java new file mode 100644 index 000000000000..6e717485cbee --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/NestedLambdas.java @@ -0,0 +1,14 @@ +interface I { + Integer _(); +} + +interface I1 { + String _(); +} + +class Test { + I i = () -> { + I1 i1 = () -> {return "";}; + return 1; + }; +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/LambdaHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/LambdaHighlightingTest.java index 6dac84473075..e5c411bd67af 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/LambdaHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/LambdaHighlightingTest.java @@ -157,6 +157,10 @@ public class LambdaHighlightingTest extends LightDaemonAnalyzerTestCase { doTest(); } + public void testNestedLambdas() throws Exception { + doTest(); + } + private void doTest() throws Exception { doTest(BASE_PATH + "/" + getTestName(false) + ".java", false, false); }