@zzzen/pyright-internal 1.2.0-dev.20250323 → 1.2.0-dev.20250406
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
- package/dist/analyzer/backgroundAnalysisProgram.js +6 -0
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +17 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +13 -6
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +1 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/operations.js +13 -7
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/program.d.ts +2 -0
- package/dist/analyzer/program.js +13 -0
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +4 -10
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -1
- package/dist/analyzer/service.js +47 -44
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +40 -52
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +39 -18
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +2 -1
- package/dist/backgroundAnalysis.js +2 -1
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +4 -1
- package/dist/backgroundAnalysisBase.js +29 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +3 -0
- package/dist/backgroundThreadBase.js +6 -5
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/diagnostic.d.ts +4 -0
- package/dist/common/diagnostic.js +9 -0
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/fullAccessHost.js +2 -14
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/processUtils.d.ts +3 -0
- package/dist/common/processUtils.js +61 -0
- package/dist/common/processUtils.js.map +1 -0
- package/dist/common/progressReporter.d.ts +2 -0
- package/dist/common/progressReporter.js +3 -0
- package/dist/common/progressReporter.js.map +1 -1
- package/dist/languageServerBase.d.ts +5 -2
- package/dist/languageServerBase.js +26 -18
- package/dist/languageServerBase.js.map +1 -1
- package/dist/localization/package.nls.de.json +5 -5
- package/dist/parser/tokenizer.js +0 -2
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/partialStubService.d.ts +0 -1
- package/dist/partialStubService.js +0 -28
- package/dist/partialStubService.js.map +1 -1
- package/dist/server.js +5 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/checker.test.js +44 -10
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +2 -2
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/tokenizer.test.js +5 -15
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +1 -1
- package/dist/tests/typeEvaluator3.test.js +2 -2
- package/dist/tests/typeEvaluator6.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +13 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +1 -1
- package/package.json +1 -1
package/dist/analyzer/checker.js
CHANGED
@@ -943,7 +943,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
943
943
|
const typeResult = this._evaluator.getTypeResult(node.d.member);
|
944
944
|
const type = typeResult?.type ?? types_1.UnknownType.create();
|
945
945
|
const leftExprType = this._evaluator.getType(node.d.leftExpr);
|
946
|
-
|
946
|
+
const moduleName = leftExprType && (0, types_1.isModule)(leftExprType) ? leftExprType.priv.moduleName : undefined;
|
947
|
+
const isImportedFromTyping = moduleName === 'typing' || moduleName === 'typing_extensions';
|
948
|
+
this._reportDeprecatedUseForType(node.d.member, type, isImportedFromTyping);
|
947
949
|
if (typeResult?.memberAccessDeprecationInfo) {
|
948
950
|
this._reportDeprecatedUseForMemberAccess(node.d.member, typeResult.memberAccessDeprecationInfo);
|
949
951
|
}
|
@@ -1016,7 +1018,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
1016
1018
|
let isImportFromTyping = false;
|
1017
1019
|
if (node.parent?.nodeType === 25 /* ParseNodeType.ImportFrom */) {
|
1018
1020
|
if (node.parent.d.module.d.leadingDots === 0 && node.parent.d.module.d.nameParts.length === 1) {
|
1019
|
-
|
1021
|
+
const namePart = node.parent.d.module.d.nameParts[0].d.value;
|
1022
|
+
if (namePart === 'typing' || namePart === 'typing_extensions') {
|
1020
1023
|
isImportFromTyping = true;
|
1021
1024
|
}
|
1022
1025
|
}
|
@@ -3378,9 +3381,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
3378
3381
|
// If the function consists entirely of "...", assume that it's
|
3379
3382
|
// an abstract method or a protocol method and don't require that
|
3380
3383
|
// the return type matches. This check can also be skipped for an overload.
|
3381
|
-
if (!ParseTreeUtils.isSuiteEmpty(node.d.suite) &&
|
3382
|
-
!types_1.FunctionType.isOverloaded(functionType) &&
|
3383
|
-
!types_1.FunctionType.isAsync(functionType)) {
|
3384
|
+
if (!ParseTreeUtils.isSuiteEmpty(node.d.suite) && !types_1.FunctionType.isOverloaded(functionType)) {
|
3384
3385
|
this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportReturnType, localize_1.LocMessage.noReturnReturnsNone(), returnAnnotation);
|
3385
3386
|
}
|
3386
3387
|
}
|
@@ -4606,7 +4607,13 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
|
|
4606
4607
|
}
|
4607
4608
|
const baseClass = baseClassAndSymbol.classType;
|
4608
4609
|
const childClassSelf = types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(childClassType, { useBoundTypeVars: true }));
|
4609
|
-
|
4610
|
+
// The "Self" value for the base class depends on whether it's a
|
4611
|
+
// protocol or not. It's not clear from the typing spec whether
|
4612
|
+
// this is the correct behavior.
|
4613
|
+
const baseClassSelf = types_1.ClassType.isProtocolClass(baseClass)
|
4614
|
+
? childClassSelf
|
4615
|
+
: types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(baseClass, { useBoundTypeVars: true }));
|
4616
|
+
let baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), baseClassSelf);
|
4610
4617
|
overrideType = (0, typeUtils_1.partiallySpecializeType)(overrideType, childClassType, this._evaluator.getTypeClassType(), childClassSelf);
|
4611
4618
|
if (childClassType.shared.typeVarScopeId) {
|
4612
4619
|
overrideType = (0, typeUtils_1.makeTypeVarsBound)(overrideType, [childClassType.shared.typeVarScopeId]);
|