void (@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor<? super PsiReference> consumer) { PsiElement element = queryParameters.getElementToSearch(); if (!(element instanceof PyFunction)) { return; } ApplicationManager.getApplication().runReadAction(() -> { String className; SearchScope searchScope; PyFunction function = (PyFunction)element; final PyClass pyClass = PyUtil.turnConstructorIntoClass(function); if (pyClass == null) { return; } className = pyClass.getName(); if (className == null) { return; } searchScope = queryParameters.getEffectiveSearchScope(); if (searchScope instanceof GlobalSearchScope) { searchScope = GlobalSearchScope.getScopeRestrictedByFileTypes((GlobalSearchScope)searchScope, PythonFileType.INSTANCE); } final var processor = new ClassInitializationProcessor(pyClass); queryParameters.getOptimizer().searchWord(className, searchScope, UsageSearchContext.IN_CODE, true, pyClass, processor); }); }