@zzzen/pyright-internal 1.2.0-dev.20250323 → 1.2.0-dev.20250330

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 (60) 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 +8 -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 +9 -13
  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/partialStubService.d.ts +0 -1
  50. package/dist/partialStubService.js +0 -28
  51. package/dist/partialStubService.js.map +1 -1
  52. package/dist/server.js +5 -1
  53. package/dist/server.js.map +1 -1
  54. package/dist/tests/checker.test.js +44 -10
  55. package/dist/tests/checker.test.js.map +1 -1
  56. package/dist/tests/lsp/languageServer.js +2 -2
  57. package/dist/tests/lsp/languageServer.js.map +1 -1
  58. package/dist/tests/typeEvaluator3.test.js +2 -2
  59. package/dist/workspaceFactory.d.ts +1 -1
  60. 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
  }
@@ -4605,8 +4606,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4605
4606
  return;
4606
4607
  }
4607
4608
  const baseClass = baseClassAndSymbol.classType;
4609
+ const baseClassSelf = types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(baseClass, { useBoundTypeVars: true }));
4608
4610
  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);
4611
+ let baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), baseClassSelf);
4610
4612
  overrideType = (0, typeUtils_1.partiallySpecializeType)(overrideType, childClassType, this._evaluator.getTypeClassType(), childClassSelf);
4611
4613
  if (childClassType.shared.typeVarScopeId) {
4612
4614
  overrideType = (0, typeUtils_1.makeTypeVarsBound)(overrideType, [childClassType.shared.typeVarScopeId]);