[java-intentions] Disable 'initialize variable fix' for record component

Fixes EA-893719 - UOE: SyntheticElement.findSameElementInCopy

GitOrigin-RevId: 6e5d54c1b32f2c7cb0621bba1b4a6ef02de4b8f8
This commit is contained in:
Tagir Valeev
2024-02-05 16:19:48 +01:00
committed by intellij-monorepo-bot
parent 70d515e41f
commit 3f4201aae8
2 changed files with 11 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ import com.intellij.psi.*;
import com.intellij.psi.augment.PsiAugmentProvider;
import com.intellij.psi.controlFlow.*;
import com.intellij.psi.impl.light.LightRecordCanonicalConstructor;
import com.intellij.psi.impl.light.LightRecordField;
import com.intellij.psi.search.LocalSearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.FileTypeUtils;
@@ -457,8 +458,10 @@ public final class HighlightControlFlowUtil {
String description = JavaErrorBundle.message("variable.not.initialized", name);
HighlightInfo.Builder builder =
HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(description);
IntentionAction action1 = getQuickFixFactory().createAddVariableInitializerFix(variable);
builder.registerFix(action1, null, null, null, null);
if (!(variable instanceof LightRecordField)) {
IntentionAction action1 = getQuickFixFactory().createAddVariableInitializerFix(variable);
builder.registerFix(action1, null, null, null, null);
}
if (variable instanceof PsiLocalVariable) {
IntentionAction action = HighlightFixUtil.createInsertSwitchDefaultFix(variable, topBlock, expression);
if (action != null) {

View File

@@ -0,0 +1,6 @@
// "Initialize variable 'x'" "false"
record R(int x) {
R(int x) {
System.out.println(this<caret>.x);
}
}