@zzzen/pyright-internal 1.2.0-dev.20241020 → 1.2.0-dev.20241103

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 (107) hide show
  1. package/dist/analyzer/binder.d.ts +1 -3
  2. package/dist/analyzer/binder.js +62 -46
  3. package/dist/analyzer/binder.js.map +1 -1
  4. package/dist/analyzer/checker.js +9 -5
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +2 -2
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constraintSolver.js +11 -1
  9. package/dist/analyzer/constraintSolver.js.map +1 -1
  10. package/dist/analyzer/constructorTransform.js +18 -1
  11. package/dist/analyzer/constructorTransform.js.map +1 -1
  12. package/dist/analyzer/constructors.js +1 -1
  13. package/dist/analyzer/constructors.js.map +1 -1
  14. package/dist/analyzer/dataClasses.js +1 -17
  15. package/dist/analyzer/dataClasses.js.map +1 -1
  16. package/dist/analyzer/declaration.d.ts +1 -1
  17. package/dist/analyzer/declaration.js.map +1 -1
  18. package/dist/analyzer/declarationUtils.js +1 -3
  19. package/dist/analyzer/declarationUtils.js.map +1 -1
  20. package/dist/analyzer/enums.js +3 -1
  21. package/dist/analyzer/enums.js.map +1 -1
  22. package/dist/analyzer/operations.js +2 -2
  23. package/dist/analyzer/operations.js.map +1 -1
  24. package/dist/analyzer/parameterUtils.js +2 -0
  25. package/dist/analyzer/parameterUtils.js.map +1 -1
  26. package/dist/analyzer/parseTreeUtils.js +4 -0
  27. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  28. package/dist/analyzer/patternMatching.js +1 -1
  29. package/dist/analyzer/patternMatching.js.map +1 -1
  30. package/dist/analyzer/protocols.js +1 -1
  31. package/dist/analyzer/protocols.js.map +1 -1
  32. package/dist/analyzer/service.js +5 -5
  33. package/dist/analyzer/service.js.map +1 -1
  34. package/dist/analyzer/sourceFile.js +1 -1
  35. package/dist/analyzer/sourceFile.js.map +1 -1
  36. package/dist/analyzer/symbol.d.ts +8 -3
  37. package/dist/analyzer/symbol.js +4 -4
  38. package/dist/analyzer/symbol.js.map +1 -1
  39. package/dist/analyzer/tuples.d.ts +2 -2
  40. package/dist/analyzer/typeEvaluator.js +209 -95
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -5
  43. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  44. package/dist/analyzer/typeGuards.js +13 -10
  45. package/dist/analyzer/typeGuards.js.map +1 -1
  46. package/dist/analyzer/typePrinter.d.ts +1 -1
  47. package/dist/analyzer/typePrinter.js +23 -17
  48. package/dist/analyzer/typePrinter.js.map +1 -1
  49. package/dist/analyzer/typeUtils.d.ts +2 -2
  50. package/dist/analyzer/typeUtils.js +59 -29
  51. package/dist/analyzer/typeUtils.js.map +1 -1
  52. package/dist/analyzer/typedDicts.d.ts +2 -1
  53. package/dist/analyzer/typedDicts.js +21 -1
  54. package/dist/analyzer/typedDicts.js.map +1 -1
  55. package/dist/analyzer/types.d.ts +1 -1
  56. package/dist/analyzer/types.js +7 -6
  57. package/dist/analyzer/types.js.map +1 -1
  58. package/dist/common/configOptions.d.ts +1 -1
  59. package/dist/common/configOptions.js +4 -3
  60. package/dist/common/configOptions.js.map +1 -1
  61. package/dist/languageService/completionProvider.js +3 -3
  62. package/dist/languageService/completionProvider.js.map +1 -1
  63. package/dist/languageService/definitionProvider.d.ts +2 -0
  64. package/dist/languageService/definitionProvider.js +21 -5
  65. package/dist/languageService/definitionProvider.js.map +1 -1
  66. package/dist/languageService/hoverProvider.d.ts +2 -1
  67. package/dist/languageService/hoverProvider.js +36 -12
  68. package/dist/languageService/hoverProvider.js.map +1 -1
  69. package/dist/localization/localize.d.ts +4 -0
  70. package/dist/localization/localize.js +10 -1
  71. package/dist/localization/localize.js.map +1 -1
  72. package/dist/localization/package.nls.cs.json +3 -1
  73. package/dist/localization/package.nls.de.json +2 -0
  74. package/dist/localization/package.nls.en-us.json +4 -0
  75. package/dist/localization/package.nls.es.json +2 -0
  76. package/dist/localization/package.nls.fr.json +2 -0
  77. package/dist/localization/package.nls.it.json +3 -1
  78. package/dist/localization/package.nls.ja.json +2 -0
  79. package/dist/localization/package.nls.ko.json +2 -0
  80. package/dist/localization/package.nls.pl.json +2 -0
  81. package/dist/localization/package.nls.pt-br.json +3 -1
  82. package/dist/localization/package.nls.qps-ploc.json +3 -1
  83. package/dist/localization/package.nls.ru.json +3 -1
  84. package/dist/localization/package.nls.tr.json +2 -0
  85. package/dist/localization/package.nls.zh-cn.json +2 -0
  86. package/dist/localization/package.nls.zh-tw.json +3 -1
  87. package/dist/server.d.ts +1 -2
  88. package/dist/tests/fourslash/hover.typedDict.get.fourslash.d.ts +1 -0
  89. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +16 -0
  90. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -0
  91. package/dist/tests/fourslash/import.multipart2.fourslash.d.ts +1 -0
  92. package/dist/tests/fourslash/import.multipart2.fourslash.js +20 -0
  93. package/dist/tests/fourslash/import.multipart2.fourslash.js.map +1 -0
  94. package/dist/tests/typeEvaluator2.test.js +8 -0
  95. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  96. package/dist/tests/typeEvaluator3.test.js +5 -1
  97. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  98. package/dist/tests/typeEvaluator4.test.js +3 -3
  99. package/dist/tests/typeEvaluator5.test.js +7 -1
  100. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  101. package/dist/tests/typeEvaluator6.test.js +6 -0
  102. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  103. package/dist/tests/typeEvaluator7.test.js +10 -0
  104. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  105. package/dist/tests/typeEvaluator8.test.js +4 -0
  106. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  107. package/package.json +2 -2
@@ -2685,7 +2685,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2685
2685
  // Check for unsafe protocol overlaps.
2686
2686
  classTypeList.forEach((filterType) => {
2687
2687
  if ((0, types_1.isInstantiableClass)(filterType)) {
2688
- this._validateUnsafeProtocolOverlap(node.d.args[0].d.valueExpr, (0, typeUtils_1.convertToInstance)(filterType), isInstanceCheck ? arg0Type : (0, typeUtils_1.convertToInstance)(arg0Type));
2688
+ this._validateUnsafeProtocolOverlap(node.d.args[0].d.valueExpr, types_1.ClassType.cloneAsInstance(filterType), isInstanceCheck ? arg0Type : (0, typeUtils_1.convertToInstance)(arg0Type));
2689
2689
  }
2690
2690
  });
2691
2691
  // Check for unnecessary isinstance or issubclass calls.
@@ -3477,7 +3477,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3477
3477
  // Is this symbol a literal instance of the enum class?
3478
3478
  if (!symbolType ||
3479
3479
  !(0, types_1.isClassInstance)(symbolType) ||
3480
- !types_1.ClassType.isSameGenericClass(symbolType, classType) ||
3480
+ !types_1.ClassType.isSameGenericClass(symbolType, types_1.ClassType.cloneAsInstance(classType)) ||
3481
3481
  !(symbolType.priv.literalValue instanceof types_1.EnumLiteral)) {
3482
3482
  return;
3483
3483
  }
@@ -3792,6 +3792,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3792
3792
  if ((0, types_1.isTypeVarTuple)(param) || (0, types_1.isParamSpec)(param)) {
3793
3793
  return;
3794
3794
  }
3795
+ // Skip type variables that have been internally synthesized
3796
+ // for a variety of reasons.
3797
+ if (param.shared.isSynthesized) {
3798
+ return;
3799
+ }
3795
3800
  // Skip type variables with auto-variance.
3796
3801
  if (param.shared.declaredVariance === 0 /* Variance.Auto */) {
3797
3802
  return;
@@ -4592,11 +4597,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4592
4597
  return;
4593
4598
  }
4594
4599
  const baseClass = baseClassAndSymbol.classType;
4595
- const childClassSelf = types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(childClassType));
4596
- let baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), childClassSelf);
4600
+ const childClassSelf = types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(childClassType, { useBoundTypeVars: true }));
4601
+ const baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), childClassSelf);
4597
4602
  overrideType = (0, typeUtils_1.partiallySpecializeType)(overrideType, childClassType, this._evaluator.getTypeClassType(), childClassSelf);
4598
4603
  if (childClassType.shared.typeVarScopeId) {
4599
- baseType = (0, typeUtils_1.makeTypeVarsBound)(baseType, [childClassType.shared.typeVarScopeId]);
4600
4604
  overrideType = (0, typeUtils_1.makeTypeVarsBound)(overrideType, [childClassType.shared.typeVarScopeId]);
4601
4605
  }
4602
4606
  if ((0, types_1.isFunction)(baseType) || (0, types_1.isOverloaded)(baseType)) {