@zzzen/pyright-internal 1.2.0-dev.20230723 → 1.2.0-dev.20230806

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 (125) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +2 -2
  2. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  3. package/dist/analyzer/binder.js +3 -1
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.js +5 -25
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/codeFlowEngine.js +11 -11
  8. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  9. package/dist/analyzer/constraintSolver.js +11 -10
  10. package/dist/analyzer/constraintSolver.js.map +1 -1
  11. package/dist/analyzer/constructors.js +25 -5
  12. package/dist/analyzer/constructors.js.map +1 -1
  13. package/dist/analyzer/docStringConversion.js +9 -5
  14. package/dist/analyzer/docStringConversion.js.map +1 -1
  15. package/dist/analyzer/enums.js +1 -1
  16. package/dist/analyzer/enums.js.map +1 -1
  17. package/dist/analyzer/importResolver.js +15 -14
  18. package/dist/analyzer/importResolver.js.map +1 -1
  19. package/dist/analyzer/parameterUtils.js +5 -1
  20. package/dist/analyzer/parameterUtils.js.map +1 -1
  21. package/dist/analyzer/patternMatching.js +24 -0
  22. package/dist/analyzer/patternMatching.js.map +1 -1
  23. package/dist/analyzer/program.d.ts +4 -2
  24. package/dist/analyzer/program.js +31 -25
  25. package/dist/analyzer/program.js.map +1 -1
  26. package/dist/analyzer/service.js +7 -7
  27. package/dist/analyzer/service.js.map +1 -1
  28. package/dist/analyzer/sourceFile.d.ts +5 -0
  29. package/dist/analyzer/sourceFile.js +11 -5
  30. package/dist/analyzer/sourceFile.js.map +1 -1
  31. package/dist/analyzer/typeEvaluator.js +247 -185
  32. package/dist/analyzer/typeEvaluator.js.map +1 -1
  33. package/dist/analyzer/typeGuards.js +1 -1
  34. package/dist/analyzer/typeGuards.js.map +1 -1
  35. package/dist/analyzer/typeUtils.d.ts +8 -8
  36. package/dist/analyzer/typeUtils.js +84 -17
  37. package/dist/analyzer/typeUtils.js.map +1 -1
  38. package/dist/analyzer/types.d.ts +8 -5
  39. package/dist/analyzer/types.js +13 -12
  40. package/dist/analyzer/types.js.map +1 -1
  41. package/dist/backgroundAnalysisBase.d.ts +5 -4
  42. package/dist/backgroundAnalysisBase.js +6 -6
  43. package/dist/backgroundAnalysisBase.js.map +1 -1
  44. package/dist/backgroundThreadBase.d.ts +2 -1
  45. package/dist/backgroundThreadBase.js +1 -1
  46. package/dist/backgroundThreadBase.js.map +1 -1
  47. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  48. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  49. package/dist/common/chokidarFileWatcherProvider.d.ts +1 -1
  50. package/dist/common/configOptions.d.ts +1 -0
  51. package/dist/common/configOptions.js +5 -1
  52. package/dist/common/configOptions.js.map +1 -1
  53. package/dist/common/diagnosticRules.d.ts +1 -0
  54. package/dist/common/diagnosticRules.js +1 -0
  55. package/dist/common/diagnosticRules.js.map +1 -1
  56. package/dist/common/extensibility.d.ts +3 -12
  57. package/dist/common/extensibility.js +5 -1
  58. package/dist/common/extensibility.js.map +1 -1
  59. package/dist/common/fileSystem.d.ts +1 -14
  60. package/dist/common/fileSystem.js +1 -31
  61. package/dist/common/fileSystem.js.map +1 -1
  62. package/dist/common/fileWatcher.d.ts +15 -0
  63. package/dist/common/fileWatcher.js +34 -0
  64. package/dist/common/fileWatcher.js.map +1 -0
  65. package/dist/common/realFileSystem.d.ts +2 -1
  66. package/dist/common/realFileSystem.js +2 -2
  67. package/dist/common/realFileSystem.js.map +1 -1
  68. package/dist/languageServerBase.d.ts +9 -6
  69. package/dist/languageServerBase.js +19 -11
  70. package/dist/languageServerBase.js.map +1 -1
  71. package/dist/languageService/completionProvider.js +3 -3
  72. package/dist/languageService/completionProvider.js.map +1 -1
  73. package/dist/languageService/hoverProvider.js +1 -6
  74. package/dist/languageService/hoverProvider.js.map +1 -1
  75. package/dist/languageService/tooltipUtils.js +7 -1
  76. package/dist/languageService/tooltipUtils.js.map +1 -1
  77. package/dist/localization/localize.d.ts +0 -4
  78. package/dist/localization/localize.js +0 -1
  79. package/dist/localization/localize.js.map +1 -1
  80. package/dist/localization/package.nls.cs.json +6 -6
  81. package/dist/localization/package.nls.de.json +6 -6
  82. package/dist/localization/package.nls.en-us.json +2 -3
  83. package/dist/localization/package.nls.es.json +6 -6
  84. package/dist/localization/package.nls.fr.json +6 -6
  85. package/dist/localization/package.nls.it.json +6 -6
  86. package/dist/localization/package.nls.ja.json +6 -6
  87. package/dist/localization/package.nls.ko.json +6 -6
  88. package/dist/localization/package.nls.pl.json +6 -6
  89. package/dist/localization/package.nls.pt-br.json +6 -6
  90. package/dist/localization/package.nls.qps-ploc.json +6 -6
  91. package/dist/localization/package.nls.ru.json +6 -6
  92. package/dist/localization/package.nls.tr.json +6 -6
  93. package/dist/localization/package.nls.zh-cn.json +6 -6
  94. package/dist/localization/package.nls.zh-tw.json +6 -6
  95. package/dist/pyright.js +2 -0
  96. package/dist/pyright.js.map +1 -1
  97. package/dist/readonlyAugmentedFileSystem.d.ts +2 -1
  98. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  99. package/dist/server.js +2 -1
  100. package/dist/server.js.map +1 -1
  101. package/dist/tests/docStringConversion.test.js +94 -0
  102. package/dist/tests/docStringConversion.test.js.map +1 -1
  103. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.d.ts +0 -0
  104. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js +30 -0
  105. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +1 -0
  106. package/dist/tests/fourslash/completions.importPytyped.fourslash.d.ts +0 -0
  107. package/dist/tests/fourslash/completions.importPytyped.fourslash.js +29 -0
  108. package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +1 -0
  109. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.d.ts +0 -0
  110. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js +29 -0
  111. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +1 -0
  112. package/dist/tests/fourslash/hover.async.fourslash.d.ts +1 -0
  113. package/dist/tests/fourslash/hover.async.fourslash.js +12 -0
  114. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -0
  115. package/dist/tests/harness/vfs/filesystem.d.ts +2 -1
  116. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  117. package/dist/tests/typeEvaluator2.test.js +11 -1
  118. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  119. package/dist/tests/typeEvaluator3.test.js +13 -3
  120. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  121. package/dist/tests/typeEvaluator4.test.js +5 -1
  122. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  123. package/dist/tests/typeEvaluator5.test.js +8 -4
  124. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  125. package/package.json +2 -2
@@ -387,7 +387,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
387
387
  }
388
388
  // Verify common dunder signatures.
389
389
  this._validateDunderSignatures(node, functionTypeResult.functionType, containingClassNode !== undefined);
390
- // Verify TypeGuard or StrictTypeGuard functions.
390
+ // Verify TypeGuard functions.
391
391
  this._validateTypeGuardFunction(node, functionTypeResult.functionType, containingClassNode !== undefined);
392
392
  this._validateFunctionTypeVarUsage(node, functionTypeResult);
393
393
  }
@@ -2973,7 +2973,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2973
2973
  });
2974
2974
  }
2975
2975
  _validateTypeGuardFunction(node, functionType, isMethod) {
2976
- var _a;
2977
2976
  const returnType = functionType.details.declaredReturnType;
2978
2977
  if (!returnType) {
2979
2978
  return;
@@ -2981,9 +2980,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2981
2980
  if (!(0, types_1.isClassInstance)(returnType) || !returnType.typeArguments || returnType.typeArguments.length < 1) {
2982
2981
  return;
2983
2982
  }
2984
- const isNormalTypeGuard = types_1.ClassType.isBuiltIn(returnType, 'TypeGuard');
2985
- const isStrictTypeGuard = types_1.ClassType.isBuiltIn(returnType, 'StrictTypeGuard');
2986
- if (!isNormalTypeGuard && !isStrictTypeGuard) {
2983
+ if (!types_1.ClassType.isBuiltIn(returnType, 'TypeGuard')) {
2987
2984
  return;
2988
2985
  }
2989
2986
  // Make sure there's at least one input parameter provided.
@@ -2998,25 +2995,6 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2998
2995
  if (paramCount < 1) {
2999
2996
  this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typeGuardParamCount(), node.name);
3000
2997
  }
3001
- if (isStrictTypeGuard) {
3002
- const typeGuardType = returnType.typeArguments[0];
3003
- // Determine the type of the first parameter.
3004
- const paramIndex = isMethod && !types_1.FunctionType.isStaticMethod(functionType) ? 1 : 0;
3005
- if (paramIndex >= functionType.details.parameters.length) {
3006
- return;
3007
- }
3008
- const paramType = types_1.FunctionType.getEffectiveParameterType(functionType, paramIndex);
3009
- // Verify that the typeGuardType is a narrower type than the paramType.
3010
- if (!this._evaluator.assignType(paramType, typeGuardType)) {
3011
- const returnAnnotation = node.returnTypeAnnotation || ((_a = node.functionAnnotationComment) === null || _a === void 0 ? void 0 : _a.returnTypeAnnotation);
3012
- if (returnAnnotation) {
3013
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.strictTypeGuardReturnType().format({
3014
- type: this._evaluator.printType(paramType),
3015
- returnType: this._evaluator.printType(typeGuardType),
3016
- }), returnAnnotation);
3017
- }
3018
- }
3019
- }
3020
2998
  }
3021
2999
  _validateDunderSignatures(node, functionType, isMethod) {
3022
3000
  var _a;
@@ -3071,7 +3049,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3071
3049
  // If the function consists entirely of "...", assume that it's
3072
3050
  // an abstract method or a protocol method and don't require that
3073
3051
  // the return type matches. This check can also be skipped for an overload.
3074
- if (!ParseTreeUtils.isSuiteEmpty(node.suite) && !types_1.FunctionType.isOverloaded(functionType)) {
3052
+ if (!ParseTreeUtils.isSuiteEmpty(node.suite) &&
3053
+ !types_1.FunctionType.isOverloaded(functionType) &&
3054
+ !types_1.FunctionType.isAsync(functionType)) {
3075
3055
  this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.noReturnReturnsNone(), returnAnnotation);
3076
3056
  }
3077
3057
  }