mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 04:51:24 +07:00
Java: match javac from jdk 24 in error highlighting for Flexible Constructor Bodies - JEP 492 (IDEA-364189)
(cherry picked from commit 686bd65963483f93acd22ae8956681f889105409) GitOrigin-RevId: b8c02f835e7173b68aa39aee57e4a8c590608482
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8e0d1b142f
commit
3746633993
@@ -2801,7 +2801,13 @@ public final class HighlightUtil {
|
||||
if (JavaFeature.STATEMENTS_BEFORE_SUPER.isSufficient(languageLevel) &&
|
||||
languageLevel != LanguageLevel.JDK_22_PREVIEW &&
|
||||
isOnSimpleAssignmentLeftHand(expression) &&
|
||||
field.getContainingClass() == PsiTreeUtil.getParentOfType(expression, PsiClass.class, true)) {
|
||||
field.getContainingClass() == PsiTreeUtil.getParentOfType(expression, PsiClass.class, PsiLambdaExpression.class)) {
|
||||
if (field.hasInitializer()) {
|
||||
String fieldName = PsiFormatUtil.formatVariable(
|
||||
field, PsiFormatUtilBase.SHOW_CONTAINING_CLASS | PsiFormatUtilBase.SHOW_NAME, PsiSubstitutor.EMPTY);
|
||||
String description = JavaErrorBundle.message("assign.initialized.field.before.constructor.call", fieldName);
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(description);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
resolvedName =
|
||||
@@ -2934,7 +2940,7 @@ public final class HighlightUtil {
|
||||
if (isOnSimpleAssignmentLeftHand(parent) &&
|
||||
parent instanceof PsiReferenceExpression ref &&
|
||||
ref.resolve() instanceof PsiField field &&
|
||||
field.getContainingClass() == PsiTreeUtil.getParentOfType(expression, PsiClass.class, true)) {
|
||||
field.getContainingClass() == PsiTreeUtil.getParentOfType(expression, PsiClass.class, PsiLambdaExpression.class)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user