mirror of
https://github.com/microsoft/pyright.git
synced 2024-10-26 10:55:06 +03:00
Added support for properties whose type is defined using a generic typevar type.
This commit is contained in:
parent
59571876e6
commit
84766dd91d
@ -998,7 +998,19 @@ export class ExpressionEvaluator {
|
||||
if (!(flags & MemberAccessFlags.SkipGetCheck)) {
|
||||
if (type instanceof PropertyType) {
|
||||
if (usage.method === 'get') {
|
||||
return makeClassMember(type.getEffectiveReturnType());
|
||||
// Use the property's getter function to determine
|
||||
// the return type.
|
||||
const selfArg: FunctionArgument = {
|
||||
argumentCategory: ArgumentCategory.Simple,
|
||||
type: new ObjectType(classType)
|
||||
};
|
||||
let propertyReturnType = this._validateCallArguments(
|
||||
errorNode, [selfArg], type.getGetter(), new TypeVarMap(), true);
|
||||
if (!propertyReturnType) {
|
||||
propertyReturnType = UnknownType.create();
|
||||
}
|
||||
|
||||
return makeClassMember(propertyReturnType);
|
||||
} else if (usage.method === 'set') {
|
||||
let setterFunctionType = type.getSetter();
|
||||
if (setterFunctionType) {
|
||||
|
Loading…
Reference in New Issue
Block a user