@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.
Files changed (68) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  2. package/dist/analyzer/backgroundAnalysisProgram.js +6 -0
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +17 -1
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.js +13 -6
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/constraintSolver.js +1 -1
  9. package/dist/analyzer/constraintSolver.js.map +1 -1
  10. package/dist/analyzer/importResolver.js.map +1 -1
  11. package/dist/analyzer/operations.js +13 -7
  12. package/dist/analyzer/operations.js.map +1 -1
  13. package/dist/analyzer/program.d.ts +2 -0
  14. package/dist/analyzer/program.js +13 -0
  15. package/dist/analyzer/program.js.map +1 -1
  16. package/dist/analyzer/properties.js +4 -10
  17. package/dist/analyzer/properties.js.map +1 -1
  18. package/dist/analyzer/service.d.ts +2 -1
  19. package/dist/analyzer/service.js +47 -44
  20. package/dist/analyzer/service.js.map +1 -1
  21. package/dist/analyzer/typeEvaluator.js +40 -52
  22. package/dist/analyzer/typeEvaluator.js.map +1 -1
  23. package/dist/analyzer/typeGuards.js +39 -18
  24. package/dist/analyzer/typeGuards.js.map +1 -1
  25. package/dist/backgroundAnalysis.d.ts +2 -1
  26. package/dist/backgroundAnalysis.js +2 -1
  27. package/dist/backgroundAnalysis.js.map +1 -1
  28. package/dist/backgroundAnalysisBase.d.ts +4 -1
  29. package/dist/backgroundAnalysisBase.js +29 -0
  30. package/dist/backgroundAnalysisBase.js.map +1 -1
  31. package/dist/backgroundThreadBase.d.ts +3 -0
  32. package/dist/backgroundThreadBase.js +6 -5
  33. package/dist/backgroundThreadBase.js.map +1 -1
  34. package/dist/common/diagnostic.d.ts +4 -0
  35. package/dist/common/diagnostic.js +9 -0
  36. package/dist/common/diagnostic.js.map +1 -1
  37. package/dist/common/fullAccessHost.js +2 -14
  38. package/dist/common/fullAccessHost.js.map +1 -1
  39. package/dist/common/processUtils.d.ts +3 -0
  40. package/dist/common/processUtils.js +61 -0
  41. package/dist/common/processUtils.js.map +1 -0
  42. package/dist/common/progressReporter.d.ts +2 -0
  43. package/dist/common/progressReporter.js +3 -0
  44. package/dist/common/progressReporter.js.map +1 -1
  45. package/dist/languageServerBase.d.ts +5 -2
  46. package/dist/languageServerBase.js +26 -18
  47. package/dist/languageServerBase.js.map +1 -1
  48. package/dist/localization/package.nls.de.json +5 -5
  49. package/dist/parser/tokenizer.js +0 -2
  50. package/dist/parser/tokenizer.js.map +1 -1
  51. package/dist/partialStubService.d.ts +0 -1
  52. package/dist/partialStubService.js +0 -28
  53. package/dist/partialStubService.js.map +1 -1
  54. package/dist/server.js +5 -1
  55. package/dist/server.js.map +1 -1
  56. package/dist/tests/checker.test.js +44 -10
  57. package/dist/tests/checker.test.js.map +1 -1
  58. package/dist/tests/lsp/languageServer.js +2 -2
  59. package/dist/tests/lsp/languageServer.js.map +1 -1
  60. package/dist/tests/tokenizer.test.js +5 -15
  61. package/dist/tests/tokenizer.test.js.map +1 -1
  62. package/dist/tests/typeEvaluator2.test.js +1 -1
  63. package/dist/tests/typeEvaluator3.test.js +2 -2
  64. package/dist/tests/typeEvaluator6.test.js +1 -1
  65. package/dist/tests/typeEvaluator7.test.js +13 -0
  66. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  67. package/dist/workspaceFactory.d.ts +1 -1
  68. package/package.json +1 -1
@@ -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
- this._reportDeprecatedUseForType(node.d.member, type, leftExprType && (0, types_1.isModule)(leftExprType) && leftExprType.priv.moduleName === 'typing');
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
- if (node.parent.d.module.d.nameParts[0].d.value === 'typing') {
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
- let baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), childClassSelf);
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]);