diff --git a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java index fa668de62010..e20437384222 100644 --- a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java @@ -426,11 +426,8 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference one = ScopeUtil.getScopeOwner(one); } while (one instanceof PyFunction); - if (one instanceof PyClass) { - PyArgumentList superClassExpressionList = ((PyClass)one).getSuperClassExpressionList(); - if (superClassExpressionList == null || !PsiTreeUtil.isAncestor(superClassExpressionList, myElement, false)) { - return one; - } + if (one instanceof PyClass && !PsiTreeUtil.isAncestor(((PyClass)one).getSuperClassExpressionList(), myElement, false)) { + return one; } } @@ -780,13 +777,8 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference // our very own caching resolver private static class CachingResolver implements ResolveCache.PolyVariantResolver { - public static CachingResolver INSTANCE = new CachingResolver(); - private final ThreadLocal myNesting = new ThreadLocal() { - @Override - protected AtomicInteger initialValue() { - return new AtomicInteger(); - } - }; + public static final CachingResolver INSTANCE = new CachingResolver(); + private final ThreadLocal myNesting = ThreadLocal.withInitial(() -> new AtomicInteger()); private static final int MAX_NESTING_LEVEL = 30;