mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
used proper way to find __init__ method
This commit is contained in:
@@ -4,6 +4,7 @@ import com.intellij.codeInspection.LocalInspectionToolSession;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.inspections.quickfix.PyMoveAttributeToInitQuickFix;
|
||||
import com.jetbrains.python.psi.PyClass;
|
||||
import com.jetbrains.python.psi.PyFunction;
|
||||
@@ -50,9 +51,9 @@ public class PyAttributeOutsideInitInspection extends PyInspection {
|
||||
if (containingClass == null) return;
|
||||
|
||||
Map<String, PyTargetExpression> attributesInInit = new HashMap<String, PyTargetExpression>();
|
||||
final PyFunction initOrNew = containingClass.findInitOrNew(true);
|
||||
if (initOrNew != null)
|
||||
PyClassImpl.collectInstanceAttributes(initOrNew, attributesInInit);
|
||||
final PyFunction initMethod = containingClass.findMethodByName(PyNames.INIT, true);
|
||||
if (initMethod != null)
|
||||
PyClassImpl.collectInstanceAttributes(initMethod, attributesInInit);
|
||||
|
||||
Map<String, PyTargetExpression> attributes = new HashMap<String, PyTargetExpression>();
|
||||
PyClassImpl.collectInstanceAttributes(node, attributes);
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.psi.*;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -45,7 +46,7 @@ public class PyMoveAttributeToInitQuickFix implements LocalQuickFix {
|
||||
}
|
||||
|
||||
private static boolean addDefinition(PsiElement copy, PyClass containingClass) {
|
||||
PyFunction init = containingClass.findInitOrNew(false);
|
||||
PyFunction init = containingClass.findMethodByName(PyNames.INIT, true);
|
||||
|
||||
if (init == null) {
|
||||
final PyStatementList classStatementList = containingClass.getStatementList();
|
||||
|
||||
Reference in New Issue
Block a user