mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Update usages of PyClassImpl.isSubclass(String, TypeEvalContext) and specify context where possible
This commit is contained in:
@@ -26,6 +26,7 @@ import com.jetbrains.python.psi.PyClass;
|
||||
import com.jetbrains.python.psi.PyFunction;
|
||||
import com.jetbrains.python.psi.PyTargetExpression;
|
||||
import com.jetbrains.python.psi.impl.PyClassImpl;
|
||||
import com.jetbrains.python.psi.types.TypeEvalContext;
|
||||
import com.jetbrains.python.testing.PythonUnitTestUtil;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -69,7 +70,7 @@ public class PyAttributeOutsideInitInspection extends PyInspection {
|
||||
if (containingClass == null) return;
|
||||
final String name = node.getName();
|
||||
if (name != null && name.startsWith("_")) return;
|
||||
if (!isApplicable(containingClass)) {
|
||||
if (!isApplicable(containingClass, myTypeEvalContext)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -111,7 +112,7 @@ public class PyAttributeOutsideInitInspection extends PyInspection {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isApplicable(@NotNull final PyClass containingClass) {
|
||||
return !PythonUnitTestUtil.isUnitTestCaseClass(containingClass) && !containingClass.isSubclass("django.db.models.base.Model", null);
|
||||
private static boolean isApplicable(@NotNull PyClass containingClass, @NotNull TypeEvalContext context) {
|
||||
return !PythonUnitTestUtil.isUnitTestCaseClass(containingClass) && !containingClass.isSubclass("django.db.models.base.Model", context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.intellij.psi.PsiPolyVariantReference;
|
||||
import com.intellij.psi.util.PsiElementFilter;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.QualifiedName;
|
||||
import com.intellij.util.Processor;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.inspections.quickfix.PyUpdatePropertySignatureQuickFix;
|
||||
@@ -287,7 +286,7 @@ public class PyPropertyDefinitionInspection extends PyInspection {
|
||||
private void checkForSelf(PyParameterList paramList) {
|
||||
PyParameter[] parameters = paramList.getParameters();
|
||||
final PyClass cls = PsiTreeUtil.getParentOfType(paramList, PyClass.class);
|
||||
if (cls != null && cls.isSubclass("type", null)) return;
|
||||
if (cls != null && cls.isSubclass("type", myTypeEvalContext)) return;
|
||||
if (parameters.length > 0 && !PyNames.CANONICAL_SELF.equals(parameters[0].getName())) {
|
||||
registerProblem(
|
||||
parameters[0], PyBundle.message("INSP.accessor.first.param.is.$0", PyNames.CANONICAL_SELF), ProblemHighlightType.WEAK_WARNING,
|
||||
|
||||
Reference in New Issue
Block a user