diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index f75301751cd0..b73ec95afd82 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -651,6 +651,8 @@ public final class HighlightUtil { PsiField fieldByName = aClass.findFieldByName(variable.getName(), false); if (fieldByName != null && fieldByName != field) { oldVariable = fieldByName; + } else { + oldVariable = ContainerUtil.find(aClass.getRecordComponents(), c -> c.getName().equals(field.getName())); } } else { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingRecords/RecordBasics.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingRecords/RecordBasics.java index f7b51ac785db..9e3adc221fee 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingRecords/RecordBasics.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlightingRecords/RecordBasics.java @@ -66,4 +66,7 @@ record ProhibitedMembers() { System.out.println("initializer"); } native void test(); +} +record StaticFieldCollides(int i) { + static int i; } \ No newline at end of file