diff --git a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java index d67b1bd4f5bf..b9f7c67e4798 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java @@ -405,8 +405,8 @@ public class LambdaUtil { } final PsiElement gParent = expressionList.getParent(); - if (gParent instanceof PsiCallExpression) { - final PsiCallExpression contextCall = (PsiCallExpression)gParent; + if (gParent instanceof PsiCall) { + final PsiCall contextCall = (PsiCall)gParent; final JavaResolveResult resolveResult = contextCall.resolveMethodGenerics(); final PsiElement resolve = resolveResult.getElement(); if (resolve instanceof PsiMethod) { @@ -578,11 +578,11 @@ public class LambdaUtil { } if (parent instanceof PsiExpressionList) { final PsiElement gParent = parent.getParent(); - if (gParent instanceof PsiCallExpression) { + if (gParent instanceof PsiCall) { final Map map = MethodCandidateInfo.CURRENT_CANDIDATE.get(); myMethod = map != null ? map.get(parent) : null; if (myMethod == null) { - myMethod = ((PsiCallExpression)gParent).resolveMethod(); + myMethod = ((PsiCall)gParent).resolveMethod(); } if (myMethod != null && PsiTreeUtil.isAncestor(myMethod, expression, false)) { myMethod = null; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/EnumConstants.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/EnumConstants.java new file mode 100644 index 000000000000..5bc75ffed1c8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/highlighting/EnumConstants.java @@ -0,0 +1,10 @@ +enum Bug { + INSTANCE1((Integer x, Integer y) -> x.byteValue()), + INSTANCE2((x, y) -> y. byteValue()); + private Bug(Foo foo) { + } + + private interface Foo { + byte bar(Integer x, Integer y); + } +} 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 e5c411bd67af..781325eae988 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 @@ -161,6 +161,10 @@ public class LambdaHighlightingTest extends LightDaemonAnalyzerTestCase { doTest(); } + public void testEnumConstants() throws Exception { + doTest(); + } + private void doTest() throws Exception { doTest(BASE_PATH + "/" + getTestName(false) + ".java", false, false); }