mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 21:55:01 +07:00
do not drill inside lambda body during return statement search (IDEA-130123)
This commit is contained in:
@@ -1123,7 +1123,7 @@ public final class PsiUtil extends PsiUtilCore {
|
||||
if (element instanceof PsiReturnStatement) {
|
||||
vector.add((PsiReturnStatement)element);
|
||||
}
|
||||
else if (!(element instanceof PsiClass)) {
|
||||
else if (!(element instanceof PsiClass) && !(element instanceof PsiLambdaExpression)) {
|
||||
PsiElement[] children = element.getChildren();
|
||||
for (PsiElement child : children) {
|
||||
addReturnStatements(vector, child);
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
import java.util.LinkedList;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
class Main {
|
||||
{
|
||||
new LinkedList<Object>().forEach((value)->{
|
||||
new LinkedList<Object>().stream().filter((c)->{
|
||||
return c == null;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -47,6 +47,10 @@ public class OverloadResolutionTest extends LightDaemonAnalyzerTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testReturnStatementsInsideNestedLambdasDuringVoidValueCompatibilityChecks() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTest() {
|
||||
doTest(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user