diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspection.java index 8dd9e18b2990..bbd50a29a721 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspection.java @@ -17,6 +17,7 @@ package com.siyeh.ig.visibility; import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel; import com.intellij.psi.*; +import com.intellij.psi.util.JavaPsiRecordUtil; import com.intellij.psi.util.PropertyUtilBase; import com.siyeh.HardcodedMethodConstants; import com.siyeh.InspectionGadgetsBundle; @@ -141,6 +142,7 @@ public class ParameterHidingMemberVariableInspection extends BaseInspection { while (aClass != null) { final PsiField field = aClass.findFieldByName(variableName, true); if (field != null && + JavaPsiRecordUtil.getComponentForField(field) == null && (!m_ignoreStaticMethodParametersHidingInstanceFields || field.hasModifierProperty(PsiModifier.STATIC) || !method.hasModifierProperty(PsiModifier.STATIC)) && (!m_ignoreInvisibleFields || ClassUtils.isFieldVisible(field, aClass))) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java index 6cde0e40edfd..93199da1640e 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/visibility/parameter_hiding_member_variable/ParameterHidingMemberVariable.java @@ -44,3 +44,9 @@ public class ParameterHidingMemberVariable void a(int i) {} } } + +record R(int i) { + public R( int i){ + this.i = i; + } +} diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java index dcd70908d241..e9ec3ef2ca93 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/visibility/ParameterHidingMemberVariableInspectionTest.java @@ -16,7 +16,9 @@ package com.siyeh.ig.visibility; import com.intellij.codeInspection.InspectionProfileEntry; +import com.intellij.testFramework.LightProjectDescriptor; import com.siyeh.ig.LightJavaInspectionTestCase; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class ParameterHidingMemberVariableInspectionTest extends LightJavaInspectionTestCase { @@ -25,6 +27,11 @@ public class ParameterHidingMemberVariableInspectionTest extends LightJavaInspec doTest(); } + @Override + protected @NotNull LightProjectDescriptor getProjectDescriptor() { + return JAVA_14; + } + @Nullable @Override protected InspectionProfileEntry getInspection() {