Simplified isinstance code. No functional change.

This commit is contained in:
Eric Traut 2024-05-17 23:26:18 -07:00
parent 7724fce513
commit 7d146aad07
2 changed files with 5 additions and 9 deletions

View File

@ -3918,8 +3918,7 @@ export class Checker extends ParseTreeWalker {
varType,
filterType,
filterType,
isInstanceCheck,
/* isTypeIsCheck */ false
isInstanceCheck
);
const filterIsSubclass = isIsinstanceFilterSubclass(
this._evaluator,

View File

@ -1211,8 +1211,7 @@ export function isIsinstanceFilterSuperclass(
concreteVarType: ClassType,
filterType: Type,
concreteFilterType: ClassType,
isInstanceCheck: boolean,
isTypeIsCheck: boolean
isInstanceCheck: boolean
) {
if (isTypeVar(filterType) || concreteFilterType.literalValue !== undefined) {
return isTypeSame(convertToInstance(filterType), varType);
@ -1221,7 +1220,7 @@ export function isIsinstanceFilterSuperclass(
// If the filter type represents all possible subclasses
// of a type, we can't make any statements about its superclass
// relationship with concreteVarType.
if (!isTypeIsCheck && concreteFilterType.includeSubclasses) {
if (concreteFilterType.includeSubclasses) {
return false;
}
@ -1370,8 +1369,7 @@ function narrowTypeForIsInstanceInternal(
concreteVarType,
filterType,
concreteFilterType,
isInstanceCheck,
isTypeIsCheck
isInstanceCheck
);
filterIsSubclass = isIsinstanceFilterSubclass(
evaluator,
@ -2485,8 +2483,7 @@ function narrowTypeForClassComparison(
concreteSubtype,
classType,
classType,
/* isInstanceCheck */ false,
/* isTypeIsCheck */ false
/* isInstanceCheck */ false
)
) {
return undefined;