protected boolean isValidIntroduceContext(PsiElement element) { PyDecorator decorator = PsiTreeUtil.getParentOfType(element, PyDecorator.class); if (decorator != null && PsiTreeUtil.isAncestor(decorator.getCallee(), element, false)) { return false; } return PsiTreeUtil.getParentOfType(element, PyParameterList.class) == null; }
@Nullable private static PsiElement resolveDecorator(@NotNull PyDecorator decorator) { final PyExpression callee = decorator.getCallee(); if (callee == null) { return null; } final PsiReference reference = callee.getReference(); if (reference == null) { return null; } return reference.resolve(); }