MoveFieldAssignmentToInitializerInspection: disable for record components

GitOrigin-RevId: a8055e5eaf54381011763d64f34433d62142a4b8
This commit is contained in:
Tagir Valeev
2020-07-07 05:02:41 +00:00
committed by intellij-monorepo-bot
parent 452937229a
commit 0fcad6c545
3 changed files with 15 additions and 0 deletions
@@ -42,6 +42,7 @@ public class MoveFieldAssignmentToInitializerInspection extends AbstractBaseJava
if (assignment.getParent() instanceof PsiExpressionList || !ExpressionUtils.isVoidContext(assignment)) return;
PsiField field = getAssignedField(assignment);
if (field == null || field.hasInitializer()) return;
if (field instanceof SyntheticElement) return;
PsiClass psiClass = field.getContainingClass();
if (psiClass == null || psiClass.isInterface()) return;
@@ -0,0 +1,6 @@
// "Move assignment to field declaration" "false"
record S(int... j ){
S(int j){
this.j <caret>= 0;
}
}
@@ -18,14 +18,22 @@ package com.intellij.java.codeInsight.daemon.quickFix;
import com.intellij.codeInsight.daemon.quickFix.LightQuickFixParameterizedTestCase;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.MoveFieldAssignmentToInitializerInspection;
import com.intellij.testFramework.LightProjectDescriptor;
import org.jetbrains.annotations.NotNull;
import static com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase.JAVA_15;
public class MoveFieldAssignmentToInitializerInspectionTest extends LightQuickFixParameterizedTestCase {
@Override
protected LocalInspectionTool @NotNull [] configureLocalInspectionTools() {
return new LocalInspectionTool[]{new MoveFieldAssignmentToInitializerInspection()};
}
@Override
protected @NotNull LightProjectDescriptor getProjectDescriptor() {
return JAVA_15;
}
@Override
protected String getBasePath() {
return "/codeInsight/daemonCodeAnalyzer/quickFix/moveFieldAssignmentToInitializer";