@zzzen/pyright-internal 1.2.0-dev.20260621 → 1.2.0-dev.20260705

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 (130) hide show
  1. package/dist/analyzer/binder.js +51 -5
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +12 -2
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/codeFlowEngine.js +6 -0
  6. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  7. package/dist/analyzer/dataClasses.js +7 -0
  8. package/dist/analyzer/dataClasses.js.map +1 -1
  9. package/dist/analyzer/docStringUtils.d.ts +1 -0
  10. package/dist/analyzer/docStringUtils.js +78 -0
  11. package/dist/analyzer/docStringUtils.js.map +1 -1
  12. package/dist/analyzer/importResolver.js +69 -4
  13. package/dist/analyzer/importResolver.js.map +1 -1
  14. package/dist/analyzer/importStatementUtils.js +19 -1
  15. package/dist/analyzer/importStatementUtils.js.map +1 -1
  16. package/dist/analyzer/parseTreeUtils.js +8 -0
  17. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  18. package/dist/analyzer/patternMatching.js +44 -0
  19. package/dist/analyzer/patternMatching.js.map +1 -1
  20. package/dist/analyzer/program.js +6 -1
  21. package/dist/analyzer/program.js.map +1 -1
  22. package/dist/analyzer/pythonPathUtils.js +2 -2
  23. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  24. package/dist/analyzer/staticExpressions.js +91 -19
  25. package/dist/analyzer/staticExpressions.js.map +1 -1
  26. package/dist/analyzer/typeEvaluator.js +53 -61
  27. package/dist/analyzer/typeEvaluator.js.map +1 -1
  28. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  29. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  30. package/dist/analyzer/typeGuards.js +52 -4
  31. package/dist/analyzer/typeGuards.js.map +1 -1
  32. package/dist/analyzer/typeUtils.js +10 -4
  33. package/dist/analyzer/typeUtils.js.map +1 -1
  34. package/dist/common/docStringService.d.ts +2 -0
  35. package/dist/common/docStringService.js +5 -1
  36. package/dist/common/docStringService.js.map +1 -1
  37. package/dist/common/fullAccessHost.d.ts +2 -1
  38. package/dist/common/fullAccessHost.js +43 -9
  39. package/dist/common/fullAccessHost.js.map +1 -1
  40. package/dist/common/host.d.ts +2 -2
  41. package/dist/common/host.js +1 -1
  42. package/dist/common/host.js.map +1 -1
  43. package/dist/common/uri/fileUri.d.ts +1 -0
  44. package/dist/common/uri/fileUri.js +20 -0
  45. package/dist/common/uri/fileUri.js.map +1 -1
  46. package/dist/common/uri/memoization.js +5 -1
  47. package/dist/common/uri/memoization.js.map +1 -1
  48. package/dist/common/uri/uriUtils.d.ts +2 -0
  49. package/dist/common/uri/uriUtils.js +22 -0
  50. package/dist/common/uri/uriUtils.js.map +1 -1
  51. package/dist/languageServerBase.js +6 -1
  52. package/dist/languageServerBase.js.map +1 -1
  53. package/dist/languageService/completionProvider.d.ts +6 -0
  54. package/dist/languageService/completionProvider.js +194 -46
  55. package/dist/languageService/completionProvider.js.map +1 -1
  56. package/dist/languageService/completionProviderUtils.d.ts +2 -0
  57. package/dist/languageService/completionProviderUtils.js.map +1 -1
  58. package/dist/languageService/documentSymbolCollector.d.ts +15 -1
  59. package/dist/languageService/documentSymbolCollector.js +64 -41
  60. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  61. package/dist/languageService/hoverProvider.js +22 -0
  62. package/dist/languageService/hoverProvider.js.map +1 -1
  63. package/dist/languageService/importStatementCandidates.d.ts +16 -0
  64. package/dist/languageService/importStatementCandidates.js +100 -0
  65. package/dist/languageService/importStatementCandidates.js.map +1 -0
  66. package/dist/languageService/referencesProvider.d.ts +16 -9
  67. package/dist/languageService/referencesProvider.js +188 -32
  68. package/dist/languageService/referencesProvider.js.map +1 -1
  69. package/dist/languageService/renameProvider.d.ts +7 -2
  70. package/dist/languageService/renameProvider.js +45 -17
  71. package/dist/languageService/renameProvider.js.map +1 -1
  72. package/dist/localization/localize.d.ts +9 -0
  73. package/dist/localization/localize.js +5 -0
  74. package/dist/localization/localize.js.map +1 -1
  75. package/dist/localization/package.nls.en-us.json +4 -0
  76. package/dist/parser/parser.js +9 -0
  77. package/dist/parser/parser.js.map +1 -1
  78. package/dist/readonlyAugmentedFileSystem.js +13 -6
  79. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  80. package/dist/tests/checker.test.js +4 -0
  81. package/dist/tests/checker.test.js.map +1 -1
  82. package/dist/tests/completions.test.js +118 -9
  83. package/dist/tests/completions.test.js.map +1 -1
  84. package/dist/tests/docStringReturnExtraction.test.d.ts +1 -0
  85. package/dist/tests/docStringReturnExtraction.test.js +125 -0
  86. package/dist/tests/docStringReturnExtraction.test.js.map +1 -0
  87. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.d.ts +1 -0
  88. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js +35 -0
  89. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js.map +1 -0
  90. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.d.ts +1 -0
  91. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js +86 -0
  92. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js.map +1 -0
  93. package/dist/tests/fourslash/completions.qualname.fourslash.d.ts +1 -0
  94. package/dist/tests/fourslash/completions.qualname.fourslash.js +34 -0
  95. package/dist/tests/fourslash/completions.qualname.fourslash.js.map +1 -0
  96. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.d.ts +1 -0
  97. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js +122 -0
  98. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js.map +1 -0
  99. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.d.ts +1 -0
  100. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.js +39 -0
  101. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.js.map +1 -0
  102. package/dist/tests/harness/testAccessHost.d.ts +1 -1
  103. package/dist/tests/harness/testAccessHost.js +1 -1
  104. package/dist/tests/harness/testAccessHost.js.map +1 -1
  105. package/dist/tests/importResolver.test.js +33 -0
  106. package/dist/tests/importResolver.test.js.map +1 -1
  107. package/dist/tests/importStatementUtils.test.js +92 -0
  108. package/dist/tests/importStatementUtils.test.js.map +1 -1
  109. package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
  110. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  111. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  112. package/dist/tests/parser.test.js +18 -0
  113. package/dist/tests/parser.test.js.map +1 -1
  114. package/dist/tests/pyrightFileSystem.test.js +25 -0
  115. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  116. package/dist/tests/signatureHelp.test.js +73 -0
  117. package/dist/tests/signatureHelp.test.js.map +1 -1
  118. package/dist/tests/typeEvaluator1.test.js +4 -0
  119. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  120. package/dist/tests/typeEvaluator2.test.js +6 -0
  121. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  122. package/dist/tests/typeEvaluator3.test.js +1 -1
  123. package/dist/tests/typeEvaluator4.test.js +23 -1
  124. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  125. package/dist/tests/typeEvaluator6.test.js +20 -0
  126. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  127. package/dist/tests/typeEvaluator8.test.js +23 -21
  128. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  129. package/dist/types.d.ts +1 -0
  130. package/package.json +4 -4
@@ -228,6 +228,13 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
228
228
  let sawParamSpecArgs = false;
229
229
  const keywordNames = new Set();
230
230
  const paramDetails = (0, parameterUtils_1.getParamListDetails)(functionTypeResult.functionType);
231
+ // If this function is the implementation of an overloaded function,
232
+ // its signature is ignored by the type checker (only the @overload
233
+ // signatures define the function's type). Per the typing spec, the
234
+ // implementation's parameters are allowed to remain unannotated, so
235
+ // skip the unknown/missing parameter type checks for it.
236
+ const isOverloadImplementation = (0, types_1.isOverloaded)(functionTypeResult.decoratedType) &&
237
+ !types_1.FunctionType.isOverloaded(functionTypeResult.functionType);
231
238
  // Report any unknown or missing parameter types.
232
239
  node.d.params.forEach((param, index) => {
233
240
  if (param.d.name) {
@@ -259,7 +266,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
259
266
  if (paramIndex >= 0) {
260
267
  const functionTypeParam = functionTypeResult.functionType.shared.parameters[paramIndex];
261
268
  const paramType = types_1.FunctionType.getParamType(functionTypeResult.functionType, paramIndex);
262
- if (this._fileInfo.diagnosticRuleSet.reportUnknownParameterType !== 'none') {
269
+ if (!isOverloadImplementation &&
270
+ this._fileInfo.diagnosticRuleSet.reportUnknownParameterType !== 'none') {
263
271
  if ((0, types_1.isUnknown)(paramType) ||
264
272
  ((0, types_1.isTypeVar)(paramType) &&
265
273
  paramType.shared.isSynthesized &&
@@ -286,7 +294,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
286
294
  hasAnnotation = true;
287
295
  }
288
296
  }
289
- if (!hasAnnotation && this._fileInfo.diagnosticRuleSet.reportMissingParameterType !== 'none') {
297
+ if (!isOverloadImplementation &&
298
+ !hasAnnotation &&
299
+ this._fileInfo.diagnosticRuleSet.reportMissingParameterType !== 'none') {
290
300
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportMissingParameterType, localize_1.LocMessage.paramAnnotationMissing().format({ name: param.d.name.d.value }), param.d.name);
291
301
  }
292
302
  }