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

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 (76) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +7 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +17 -6
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +0 -1
  6. package/dist/analyzer/checker.js +6 -8
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.d.ts +2 -0
  9. package/dist/analyzer/codeFlowEngine.js +153 -17
  10. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  11. package/dist/analyzer/codeFlowTypes.d.ts +2 -1
  12. package/dist/analyzer/codeFlowTypes.js +1 -0
  13. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  14. package/dist/analyzer/codeFlowUtils.js +4 -1
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/patternMatching.js +39 -2
  17. package/dist/analyzer/patternMatching.js.map +1 -1
  18. package/dist/analyzer/program.js +4 -1
  19. package/dist/analyzer/program.js.map +1 -1
  20. package/dist/analyzer/protocols.js +11 -3
  21. package/dist/analyzer/protocols.js.map +1 -1
  22. package/dist/analyzer/symbolNameUtils.d.ts +1 -0
  23. package/dist/analyzer/symbolNameUtils.js +5 -0
  24. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  25. package/dist/analyzer/typeEvaluator.js +126 -8
  26. package/dist/analyzer/typeEvaluator.js.map +1 -1
  27. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  28. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  29. package/dist/analyzer/typeUtils.js +9 -1
  30. package/dist/analyzer/typeUtils.js.map +1 -1
  31. package/dist/analyzer/typedDicts.js +8 -4
  32. package/dist/analyzer/typedDicts.js.map +1 -1
  33. package/dist/common/extensibility.d.ts +1 -0
  34. package/dist/common/processUtils.d.ts +9 -1
  35. package/dist/common/processUtils.js +52 -10
  36. package/dist/common/processUtils.js.map +1 -1
  37. package/dist/common/windowsProcessTree.d.ts +4 -0
  38. package/dist/common/windowsProcessTree.js +47 -0
  39. package/dist/common/windowsProcessTree.js.map +1 -0
  40. package/dist/common/windowsProcessTree.json +310 -0
  41. package/dist/languageService/callHierarchyProvider.js +12 -4
  42. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  43. package/dist/localization/package.nls.pl.json +2 -2
  44. package/dist/localization/package.nls.pt-br.json +1 -1
  45. package/dist/localization/package.nls.zh-cn.json +2 -2
  46. package/dist/localization/package.nls.zh-tw.json +1 -1
  47. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.d.ts +1 -0
  48. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js +44 -0
  49. package/dist/tests/fourslash/findDefinitions.metaclass.fourslash.js.map +1 -0
  50. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.d.ts +1 -0
  51. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js +42 -0
  52. package/dist/tests/fourslash/findDefinitions.metaclassDict.fourslash.js.map +1 -0
  53. package/dist/tests/mypyPrimerMcp.test.js +2 -1
  54. package/dist/tests/mypyPrimerMcp.test.js.map +1 -1
  55. package/dist/tests/service.test.js +36 -0
  56. package/dist/tests/service.test.js.map +1 -1
  57. package/dist/tests/typeEvaluator1.test.js +27 -1
  58. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  59. package/dist/tests/typeEvaluator6.test.js +12 -0
  60. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  61. package/dist/tests/typeEvaluator8.test.js +28 -0
  62. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  63. package/dist/tests/typeServer/inProcTypeServerTestUtils.d.ts +7 -2
  64. package/dist/tests/typeServer/inProcTypeServerTestUtils.js +14 -7
  65. package/dist/tests/typeServer/inProcTypeServerTestUtils.js.map +1 -1
  66. package/dist/tests/typeServer/stubGenerator.test.js +29 -0
  67. package/dist/tests/typeServer/stubGenerator.test.js.map +1 -1
  68. package/dist/tests/typeServer/typeServer.inProc.test.js +87 -1
  69. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  70. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +15 -0
  71. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  72. package/dist/typeServer/stubGenerator.js +5 -6
  73. package/dist/typeServer/stubGenerator.js.map +1 -1
  74. package/dist/workspaceFactory.js +5 -0
  75. package/dist/workspaceFactory.js.map +1 -1
  76. package/package.json +3 -3
@@ -148,7 +148,6 @@ export declare class Checker extends ParseTreeWalker {
148
148
  private _validateTypedDictOverrides;
149
149
  private _validateBaseClassOverrides;
150
150
  private _validateOverrideDecoratorPresent;
151
- private _isMethodExemptFromLsp;
152
151
  private _validateOverrideDecoratorNotPresent;
153
152
  private _getCallableVariableOverrideComparison;
154
153
  private _markFunctionStatic;
@@ -2803,7 +2803,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2803
2803
  }
2804
2804
  const action = rule === diagnosticRules_1.DiagnosticRule.reportUnusedImport ? { action: "pyright.unusedImport" /* Commands.unusedImport */ } : undefined;
2805
2805
  if (nameNode) {
2806
- this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(localize_1.LocMessage.unaccessedSymbol().format({ name: nameNode.d.value }), nameNode, action);
2806
+ const isAllowedUnusedVariable = rule === diagnosticRules_1.DiagnosticRule.reportUnusedVariable && nameNode.d.value.startsWith('_');
2807
+ if (!isAllowedUnusedVariable) {
2808
+ this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(localize_1.LocMessage.unaccessedSymbol().format({ name: nameNode.d.value }), nameNode, action);
2809
+ }
2807
2810
  if (rule !== undefined && message && diagnosticLevel !== 'none') {
2808
2811
  this._evaluator.addDiagnostic(rule, message, nameNode);
2809
2812
  }
@@ -4706,7 +4709,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4706
4709
  return;
4707
4710
  }
4708
4711
  // Constructors are exempt.
4709
- if (this._isMethodExemptFromLsp(overrideFunction.shared.name)) {
4712
+ if (SymbolNameUtils.isMethodExemptFromLsp(overrideFunction.shared.name)) {
4710
4713
  return;
4711
4714
  }
4712
4715
  // If the declaration for the override function is not the same as the
@@ -4724,11 +4727,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4724
4727
  className: this._evaluator.printType((0, typeUtils_1.convertToInstance)(baseMember.classType)),
4725
4728
  }), funcNode.d.name);
4726
4729
  }
4727
- // Determines whether the name is exempt from Liskov Substitution Principle rules.
4728
- _isMethodExemptFromLsp(name) {
4729
- const exemptMethods = ['__init__', '__new__', '__init_subclass__', '__post_init__'];
4730
- return exemptMethods.some((n) => n === name);
4731
- }
4732
4730
  // Determines whether the type is a function or overloaded function with an @override
4733
4731
  // decorator. In this case, an error is reported because no base class has declared
4734
4732
  // a method of the same name.
@@ -4877,7 +4875,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4877
4875
  // Also, skip this check if the class is a TypedDict. The methods for a TypedDict
4878
4876
  // are synthesized, and they can result in many overloads. We assume they
4879
4877
  // are correct and will not produce any errors.
4880
- if (this._isMethodExemptFromLsp(memberName) ||
4878
+ if (SymbolNameUtils.isMethodExemptFromLsp(memberName) ||
4881
4879
  SymbolNameUtils.isPrivateName(memberName) ||
4882
4880
  types_1.ClassType.isTypedDictClass(childClassType)) {
4883
4881
  return;