void (@NotNull PsiParameter variable) { super.visitParameter(variable); final PsiElement declarationScope = variable.getDeclarationScope(); if (!(declarationScope instanceof PsiMethod method)) { return; } if (method.isConstructor() && (m_ignoreForConstructors || JavaPsiRecordUtil.isCanonicalConstructor(method))) { return; } if (m_ignoreForAbstractMethods) { if (method.hasModifierProperty(PsiModifier.ABSTRACT)) { return; } final PsiClass containingClass = method.getContainingClass(); if (containingClass != null && containingClass.isInterface()) { return; } } if (m_ignoreForPropertySetters) { final String methodName = method.getName(); if (methodName.startsWith(HardcodedMethodConstants.SET) && PsiTypes.voidType().equals(method.getReturnType())) { return; } if (PropertyUtilBase.isSimplePropertySetter(method)) { return; } } final PsiClass aClass = LocalVariableHidingMemberVariableInspection .findSurroundingClassWithHiddenField(variable, m_ignoreInvisibleFields, m_ignoreStaticMethodParametersHidingInstanceFields); if (aClass == null) { return; } registerVariableError(variable, aClass); }