lvti: don't resolve method calls to detect self-referenced (IDEA-194104)

This commit is contained in:
Anna Kozlova
2018-06-19 08:18:04 +03:00
parent 0554dcf0ab
commit fad349d791
3 changed files with 20 additions and 0 deletions
@@ -198,6 +198,9 @@ public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeEl
@Override
public void visitReferenceExpression(PsiReferenceExpression expression) {
super.visitReferenceExpression(expression);
if (expression.getParent() instanceof PsiMethodCallExpression) {
return;
}
if (expression.resolve() == parent) {
referenced = true;
}
@@ -0,0 +1,15 @@
import java.lang.reflect.Method;
import java.util.LinkedHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class MyTest {
private void getMethods(final Stream<Method> stream) {
final var collector = Collectors.toMap(null, c -> {
System.out.println(c);
return new LinkedHashMap<String, Integer>();
}, (v1, v2) -> v2, null);
}
}
@@ -48,6 +48,8 @@ public class LightAdvLVTIHighlightingTest extends LightDaemonAnalyzerTestCase {
public void testUpwardProjection() { doTest(); }
public void testFailedInferenceWithLeftTypeVar() { doTest(); }
public void testVarInLambdaParameters() {
setLanguageLevel(LanguageLevel.JDK_11);
doTest();