diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/SuspiciousPackagePrivateAccessInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/SuspiciousPackagePrivateAccessInspection.java index 779d5536f5f0..6821f79df882 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/SuspiciousPackagePrivateAccessInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/dependency/SuspiciousPackagePrivateAccessInspection.java @@ -149,10 +149,10 @@ public class SuspiciousPackagePrivateAccessInspection extends AbstractBaseUastLo accessObjectType = (PsiClass)element; } - UClass sourceClass = UastUtils.getParentOfType(sourceNode, UClass.class); + PsiElement sourcePsi = sourceNode.getSourcePsi(); + PsiClass sourceClass = PsiTreeUtil.getParentOfType(sourcePsi, PsiClass.class); if (sourceClass == null) return false; - PsiClass sourceClassJava = sourceClass.getJavaPsi(); - return JavaResolveUtil.canAccessProtectedMember(member, memberClass, accessObjectType, sourceClassJava, member.hasModifierProperty(PsiModifier.STATIC)); + return JavaResolveUtil.canAccessProtectedMember(member, memberClass, accessObjectType, sourceClass, member.hasModifierProperty(PsiModifier.STATIC)); } private boolean isPackageLocalAccessSuspicious(Module sourceModule, Module targetModule) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/dep/xxx/ProtectedMembers.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/dep/xxx/ProtectedMembers.java index fb80552024e0..3bae60a51cf9 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/dep/xxx/ProtectedMembers.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/dep/xxx/ProtectedMembers.java @@ -6,4 +6,7 @@ public class ProtectedMembers { static protected void staticMethod() { } + + protected static class StaticInner { + } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/src/AccessingProtectedMembers.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/src/AccessingProtectedMembers.java index 23f339873cf3..09d2a28d15d4 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/src/AccessingProtectedMembers.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/dependency/suspicious_package_private_access/src/AccessingProtectedMembers.java @@ -18,5 +18,14 @@ class AccessingProtectedMembersFromSubclass extends ProtectedMembers { aClass.method(); AccessingProtectedMembersFromSubclass myInstance = new AccessingProtectedMembersFromSubclass(); myInstance.method(); + + ProtectedMembers.StaticInner inner1; + StaticInner inner2; + } + + public static class StaticInnerImpl1 extends ProtectedMembers.StaticInner { + } + + public static class StaticInnerImpl2 extends StaticInner { } } \ No newline at end of file