boolean (@NotNull PsiElement place, @NotNull PsiNamedElement namedElement) { if (namedElement instanceof GrField field) { if (org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isAccessible(place, field)) { return true; } for (GrAccessorMethod method : field.getGetters()) { if (org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isAccessible(place, method)) { return true; } } final GrAccessorMethod setter = field.getSetter(); if (setter != null && org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isAccessible(place, setter)) { return true; } return false; } return !(namedElement instanceof PsiMember) || org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.isAccessible(place, ((PsiMember)namedElement)); }