Update usages of PyClassImpl.isSubclass(String, TypeEvalContext) and specify context where possible

This commit is contained in:
Semyon Proshev
2016-07-14 18:56:12 +03:00
parent 1636c9ac70
commit 26018a507b
2 changed files with 5 additions and 5 deletions
@@ -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,