@zzzen/pyright-internal 1.2.0-dev.20261004 → 1.2.0-dev.20261018

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 (108) hide show
  1. package/dist/analyzer/binder.js +8 -0
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +0 -1
  4. package/dist/analyzer/checker.js +21 -42
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +75 -28
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constraintSolver.js +3 -2
  9. package/dist/analyzer/constraintSolver.js.map +1 -1
  10. package/dist/analyzer/operations.d.ts +2 -0
  11. package/dist/analyzer/operations.js +2 -1
  12. package/dist/analyzer/operations.js.map +1 -1
  13. package/dist/analyzer/overloadResultAdmission.js +115 -3
  14. package/dist/analyzer/overloadResultAdmission.js.map +1 -1
  15. package/dist/analyzer/overloadResultController.js +36 -10
  16. package/dist/analyzer/overloadResultController.js.map +1 -1
  17. package/dist/analyzer/overloadResultSelector.js +32 -12
  18. package/dist/analyzer/overloadResultSelector.js.map +1 -1
  19. package/dist/analyzer/parameterUtils.js +2 -1
  20. package/dist/analyzer/parameterUtils.js.map +1 -1
  21. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  22. package/dist/analyzer/parseTreeUtils.js +13 -0
  23. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  24. package/dist/analyzer/patternMatching.js +105 -35
  25. package/dist/analyzer/patternMatching.js.map +1 -1
  26. package/dist/analyzer/program.d.ts +3 -0
  27. package/dist/analyzer/program.js +34 -9
  28. package/dist/analyzer/program.js.map +1 -1
  29. package/dist/analyzer/properties.d.ts +2 -2
  30. package/dist/analyzer/properties.js +2 -2
  31. package/dist/analyzer/properties.js.map +1 -1
  32. package/dist/analyzer/protocols.d.ts +3 -1
  33. package/dist/analyzer/protocols.js +24 -2
  34. package/dist/analyzer/protocols.js.map +1 -1
  35. package/dist/analyzer/service.js +6 -2
  36. package/dist/analyzer/service.js.map +1 -1
  37. package/dist/analyzer/sourceEnumerator.d.ts +3 -1
  38. package/dist/analyzer/sourceEnumerator.js +30 -11
  39. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  40. package/dist/analyzer/sourceMapper.d.ts +1 -0
  41. package/dist/analyzer/sourceMapper.js +10 -4
  42. package/dist/analyzer/sourceMapper.js.map +1 -1
  43. package/dist/analyzer/tuples.js +17 -6
  44. package/dist/analyzer/tuples.js.map +1 -1
  45. package/dist/analyzer/typeEvaluator.js +419 -67
  46. package/dist/analyzer/typeEvaluator.js.map +1 -1
  47. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  48. package/dist/analyzer/typeEvaluatorTypes.js +4 -0
  49. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  50. package/dist/analyzer/typeGuards.d.ts +5 -1
  51. package/dist/analyzer/typeGuards.js +324 -99
  52. package/dist/analyzer/typeGuards.js.map +1 -1
  53. package/dist/analyzer/typePrinter.js +32 -6
  54. package/dist/analyzer/typePrinter.js.map +1 -1
  55. package/dist/analyzer/typeStubRenderer.d.ts +6 -1
  56. package/dist/analyzer/typeStubRenderer.js +19 -12
  57. package/dist/analyzer/typeStubRenderer.js.map +1 -1
  58. package/dist/analyzer/typeUtils.d.ts +1 -0
  59. package/dist/analyzer/typeUtils.js +15 -1
  60. package/dist/analyzer/typeUtils.js.map +1 -1
  61. package/dist/analyzer/typedDicts.d.ts +2 -1
  62. package/dist/analyzer/typedDicts.js +49 -10
  63. package/dist/analyzer/typedDicts.js.map +1 -1
  64. package/dist/analyzer/types.d.ts +2 -1
  65. package/dist/analyzer/types.js +9 -0
  66. package/dist/analyzer/types.js.map +1 -1
  67. package/dist/common/configOptions.d.ts +1 -0
  68. package/dist/common/configOptions.js +9 -0
  69. package/dist/common/configOptions.js.map +1 -1
  70. package/dist/common/windowsProcessTree.json +252 -33
  71. package/dist/tests/cacheManager.test.js +19 -15
  72. package/dist/tests/cacheManager.test.js.map +1 -1
  73. package/dist/tests/checker.test.js +50 -0
  74. package/dist/tests/checker.test.js.map +1 -1
  75. package/dist/tests/config.test.js +126 -0
  76. package/dist/tests/config.test.js.map +1 -1
  77. package/dist/tests/constraintSolver.test.d.ts +1 -0
  78. package/dist/tests/constraintSolver.test.js +39 -0
  79. package/dist/tests/constraintSolver.test.js.map +1 -0
  80. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +11 -0
  81. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -1
  82. package/dist/tests/fourslash/hover.typedDictUnpacking.dictDisplay.fourslash.d.ts +1 -0
  83. package/dist/tests/fourslash/hover.typedDictUnpacking.dictDisplay.fourslash.js +16 -0
  84. package/dist/tests/fourslash/hover.typedDictUnpacking.dictDisplay.fourslash.js.map +1 -0
  85. package/dist/tests/mypyPrimerAnalysis.test.js +67 -11
  86. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  87. package/dist/tests/overloadResultController.test.js +379 -1
  88. package/dist/tests/overloadResultController.test.js.map +1 -1
  89. package/dist/tests/signatureHelp.test.js +34 -0
  90. package/dist/tests/signatureHelp.test.js.map +1 -1
  91. package/dist/tests/sourceEnumeratorSymlink.test.js +98 -13
  92. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -1
  93. package/dist/tests/sourceMapperUtils.test.js +143 -0
  94. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  95. package/dist/tests/typeEquality.test.js +85 -2
  96. package/dist/tests/typeEquality.test.js.map +1 -1
  97. package/dist/tests/typeEvaluator1.test.js +47 -3
  98. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  99. package/dist/tests/typeEvaluator3.test.js +23 -0
  100. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  101. package/dist/tests/typeEvaluator5.test.js +1 -1
  102. package/dist/tests/typeEvaluator6.test.js +83 -1
  103. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  104. package/dist/tests/typeEvaluator7.test.js +32 -0
  105. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  106. package/dist/tests/typeEvaluator8.test.js +15 -1
  107. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  108. package/package.json +3 -3
@@ -2790,6 +2790,10 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2790
2790
  _createCallFlowNode(node) {
2791
2791
  if (!this._isCodeUnreachable()) {
2792
2792
  this._addExceptTargets(this._currentFlowNode);
2793
+ const deletionCall = ParseTreeUtils.getTypedDictKeyDeletionCall(node);
2794
+ if (deletionCall && (0, codeFlowTypes_1.isCodeFlowSupportedForReference)(deletionCall.d.leftExpr)) {
2795
+ this._currentScopeCodeFlowExpressions.add((0, codeFlowTypes_1.createKeyForReference)(deletionCall.d.leftExpr));
2796
+ }
2793
2797
  const flowNode = {
2794
2798
  flags: codeFlowTypes_1.FlowFlags.Call,
2795
2799
  id: this._getUniqueFlowNodeId(),
@@ -2838,6 +2842,10 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2838
2842
  if (isSupportedReference) {
2839
2843
  this._currentScopeCodeFlowExpressions.add((0, codeFlowTypes_1.createKeyForReference)(node));
2840
2844
  }
2845
+ // Key presence changes the containing TypedDict's narrowed type.
2846
+ if (node.nodeType === 27 /* ParseNodeType.Index */ && (0, codeFlowTypes_1.isCodeFlowSupportedForReference)(node.d.leftExpr)) {
2847
+ this._currentScopeCodeFlowExpressions.add((0, codeFlowTypes_1.createKeyForReference)(node.d.leftExpr));
2848
+ }
2841
2849
  if (unbound) {
2842
2850
  flowNode.flags |= codeFlowTypes_1.FlowFlags.Unbind;
2843
2851
  }