IDEA-149645 "Access can be tightened" inspection should have option for avoiding synthetic accessors

This commit is contained in:
Alexey Kudravtsev
2015-12-25 18:44:19 +03:00
parent f2eb2eec9a
commit 86b2b222ba
2 changed files with 9 additions and 3 deletions
@@ -230,7 +230,7 @@ class AccessCanBeTightenedInspection extends BaseJavaBatchLocalInspectionTool {
}
return myVisibilityInspection.SUGGEST_PRIVATE_FOR_INNERS ||
memberClass == aClass && memberClass.getContainingClass() == null ? PsiUtil.ACCESS_LEVEL_PRIVATE : suggestPackageLocal(member);
!isInnerClass(memberClass) ? PsiUtil.ACCESS_LEVEL_PRIVATE : suggestPackageLocal(member);
}
//if (file == memberFile) {
// return PsiUtil.ACCESS_LEVEL_PACKAGE_LOCAL;
@@ -253,6 +253,10 @@ class AccessCanBeTightenedInspection extends BaseJavaBatchLocalInspectionTool {
}
}
private static boolean isInnerClass(@NotNull PsiClass memberClass) {
return memberClass.getContainingClass() != null || memberClass instanceof PsiAnonymousClass;
}
private static boolean isInReferenceList(@Nullable PsiElement list, @NotNull final PsiMember member) {
if (list == null) return false;
final PsiManager psiManager = member.getManager();
@@ -96,13 +96,15 @@ public class AccessCanBeTightenedInspectionTest extends LightInspectionTestCase
VisibilityInspection visibilityInspection =
ReflectionUtil.getField(inspection.getClass(), inspection, VisibilityInspection.class, "myVisibilityInspection");
visibilityInspection.SUGGEST_PACKAGE_LOCAL_FOR_MEMBERS = false;
visibilityInspection.SUGGEST_PRIVATE_FOR_INNERS = false;
doTest("class C {\n" +
" {\n" +
" new Runnable() {\n" +
" @Override\n" +
" public void run() {}\n"+
" boolean isVisible() { return true; }\n" +
" public void run() { isDisposed = true; }\n"+
" boolean isVisible() { return true; }\n" +
" boolean isDisposed;\n" +
" }.run();\n" +
" }\n"+
"}");