@zzzen/pyright-internal 1.2.0-dev.20261011 → 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 (69) hide show
  1. package/dist/analyzer/binder.js +8 -0
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +4 -3
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/codeFlowEngine.js +73 -27
  6. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  7. package/dist/analyzer/overloadResultAdmission.js +115 -3
  8. package/dist/analyzer/overloadResultAdmission.js.map +1 -1
  9. package/dist/analyzer/overloadResultController.js +36 -10
  10. package/dist/analyzer/overloadResultController.js.map +1 -1
  11. package/dist/analyzer/overloadResultSelector.js +32 -12
  12. package/dist/analyzer/overloadResultSelector.js.map +1 -1
  13. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  14. package/dist/analyzer/parseTreeUtils.js +13 -0
  15. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  16. package/dist/analyzer/patternMatching.js +64 -26
  17. package/dist/analyzer/patternMatching.js.map +1 -1
  18. package/dist/analyzer/program.d.ts +3 -0
  19. package/dist/analyzer/program.js +34 -9
  20. package/dist/analyzer/program.js.map +1 -1
  21. package/dist/analyzer/service.js +6 -2
  22. package/dist/analyzer/service.js.map +1 -1
  23. package/dist/analyzer/sourceEnumerator.d.ts +3 -1
  24. package/dist/analyzer/sourceEnumerator.js +30 -11
  25. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  26. package/dist/analyzer/sourceMapper.d.ts +1 -0
  27. package/dist/analyzer/sourceMapper.js +10 -4
  28. package/dist/analyzer/sourceMapper.js.map +1 -1
  29. package/dist/analyzer/tuples.js +17 -6
  30. package/dist/analyzer/tuples.js.map +1 -1
  31. package/dist/analyzer/typeEvaluator.js +276 -43
  32. package/dist/analyzer/typeEvaluator.js.map +1 -1
  33. package/dist/analyzer/typeGuards.d.ts +5 -1
  34. package/dist/analyzer/typeGuards.js +116 -31
  35. package/dist/analyzer/typeGuards.js.map +1 -1
  36. package/dist/analyzer/typeStubRenderer.d.ts +6 -1
  37. package/dist/analyzer/typeStubRenderer.js +19 -12
  38. package/dist/analyzer/typeStubRenderer.js.map +1 -1
  39. package/dist/analyzer/typedDicts.d.ts +2 -1
  40. package/dist/analyzer/typedDicts.js +49 -10
  41. package/dist/analyzer/typedDicts.js.map +1 -1
  42. package/dist/common/configOptions.d.ts +1 -0
  43. package/dist/common/configOptions.js +9 -0
  44. package/dist/common/configOptions.js.map +1 -1
  45. package/dist/common/windowsProcessTree.json +252 -33
  46. package/dist/tests/checker.test.js +50 -0
  47. package/dist/tests/checker.test.js.map +1 -1
  48. package/dist/tests/config.test.js +126 -0
  49. package/dist/tests/config.test.js.map +1 -1
  50. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +11 -0
  51. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -1
  52. package/dist/tests/overloadResultController.test.js +379 -1
  53. package/dist/tests/overloadResultController.test.js.map +1 -1
  54. package/dist/tests/signatureHelp.test.js +34 -0
  55. package/dist/tests/signatureHelp.test.js.map +1 -1
  56. package/dist/tests/sourceEnumeratorSymlink.test.js +98 -13
  57. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -1
  58. package/dist/tests/sourceMapperUtils.test.js +143 -0
  59. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  60. package/dist/tests/typeEvaluator1.test.js +19 -2
  61. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  62. package/dist/tests/typeEvaluator5.test.js +1 -1
  63. package/dist/tests/typeEvaluator6.test.js +20 -0
  64. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  65. package/dist/tests/typeEvaluator7.test.js +10 -0
  66. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  67. package/dist/tests/typeEvaluator8.test.js +2 -1
  68. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  69. 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
  }