boolean (@NotNull Project project, Editor editor, PsiFile file) { if (!(file instanceof PyFile) || file instanceof PyDocstringFile) return false; PsiElement elementAt = PyUtil.findNonWhitespaceAtOffset(file, editor.getCaretModel().getOffset()); if (elementAt == null) { return false; } PyFunction function = PsiTreeUtil.getParentOfType(elementAt, PyFunction.class); final PyStatementList statementList = PsiTreeUtil.getParentOfType(elementAt, PyStatementList.class, false, PyFunction.class); if (function == null || statementList != null) { return false; } if (!elementAt.equals(function.getNameNode())) return false; return isAvailableForFunction(function); }