IJ-CR-134196 [java-highlighting] M IDEA-352727 Incomplete model with lombok

- skip unresolved references with lombok

GitOrigin-RevId: f5e7bc91b1e5634a0a042f0fd90b6be3ca943a28
This commit is contained in:
Mikhail Pyltsin
2024-05-22 10:42:13 +02:00
committed by intellij-monorepo-bot
parent 85efa4304f
commit 468b7803de
3 changed files with 11 additions and 0 deletions

View File

@@ -227,6 +227,7 @@ final class IncompleteModelUtil {
PsiExpression qualifier = refExpr.getQualifierExpression();
if (qualifier == null) {
PsiClass psiClass = ClassUtils.getContainingClass(ref);
if (canBeAugmented(psiClass)) return true;
while (psiClass != null) {
if (!isHierarchyResolved(psiClass)) return true;
psiClass = ClassUtils.getContainingClass(psiClass);

View File

@@ -15,6 +15,8 @@ public class LombokIncompleteModeHighlightingTest extends LightDaemonAnalyzerTes
public void testLombokBasicsWithExplicitImport() { doTest(); }
public void testLombokLogs() { doTest(); }
private void doTest() {
doTest(getTestName(false) + ".java");
}

View File

@@ -0,0 +1,8 @@
import <info descr="Not resolved until the project is fully loaded">lombok</info>.<info descr="Not resolved until the project is fully loaded">extern</info>.<info descr="Not resolved until the project is fully loaded">slf4j</info>.<info descr="Not resolved until the project is fully loaded">Slf4j</info>;
@<info descr="Not resolved until the project is fully loaded">Slf4j</info>
public class LombokLogs {
public void validate() {
<info descr="Not resolved until the project is fully loaded">log</info>.<info descr="Not resolved until the project is fully loaded">atInfo</info>().<info descr="Not resolved until the project is fully loaded">log</info>("Validating user");
}
}