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

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/checker.d.ts +1 -0
  2. package/dist/analyzer/checker.js +13 -21
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +12 -1
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/constraintSolver.js +25 -2
  7. package/dist/analyzer/constraintSolver.js.map +1 -1
  8. package/dist/analyzer/constructorTransform.js +11 -1
  9. package/dist/analyzer/constructorTransform.js.map +1 -1
  10. package/dist/analyzer/constructors.js +11 -9
  11. package/dist/analyzer/constructors.js.map +1 -1
  12. package/dist/analyzer/namedTuples.js +1 -0
  13. package/dist/analyzer/namedTuples.js.map +1 -1
  14. package/dist/analyzer/typeCacheUtils.d.ts +7 -2
  15. package/dist/analyzer/typeCacheUtils.js +11 -7
  16. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  17. package/dist/analyzer/typeEvaluator.js +652 -498
  18. package/dist/analyzer/typeEvaluator.js.map +1 -1
  19. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -2
  20. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  21. package/dist/analyzer/typeGuards.js +42 -7
  22. package/dist/analyzer/typeGuards.js.map +1 -1
  23. package/dist/analyzer/typeUtils.js +10 -0
  24. package/dist/analyzer/typeUtils.js.map +1 -1
  25. package/dist/analyzer/types.d.ts +2 -2
  26. package/dist/analyzer/types.js +11 -2
  27. package/dist/analyzer/types.js.map +1 -1
  28. package/dist/backgroundThreadBase.js +1 -1
  29. package/dist/backgroundThreadBase.js.map +1 -1
  30. package/dist/languageService/callHierarchyProvider.js +7 -10
  31. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  32. package/dist/languageService/completionProvider.js +7 -1
  33. package/dist/languageService/completionProvider.js.map +1 -1
  34. package/dist/languageService/tooltipUtils.js +5 -2
  35. package/dist/languageService/tooltipUtils.js.map +1 -1
  36. package/dist/localization/localize.d.ts +7 -0
  37. package/dist/localization/localize.js +17 -1
  38. package/dist/localization/localize.js.map +1 -1
  39. package/dist/localization/package.nls.cs.json +1 -0
  40. package/dist/localization/package.nls.de.json +1 -0
  41. package/dist/localization/package.nls.en-us.json +6 -5
  42. package/dist/localization/package.nls.es.json +1 -0
  43. package/dist/localization/package.nls.fr.json +1 -0
  44. package/dist/localization/package.nls.it.json +1 -0
  45. package/dist/localization/package.nls.ja.json +1 -0
  46. package/dist/localization/package.nls.ko.json +1 -0
  47. package/dist/localization/package.nls.pl.json +1 -0
  48. package/dist/localization/package.nls.pt-br.json +1 -0
  49. package/dist/localization/package.nls.qps-ploc.json +1 -0
  50. package/dist/localization/package.nls.ru.json +1 -0
  51. package/dist/localization/package.nls.tr.json +1 -0
  52. package/dist/localization/package.nls.zh-cn.json +1 -0
  53. package/dist/localization/package.nls.zh-tw.json +1 -0
  54. package/dist/tests/checker.test.js +2 -2
  55. package/dist/tests/completions.test.js +40 -0
  56. package/dist/tests/completions.test.js.map +1 -1
  57. package/dist/tests/config.test.js +12 -0
  58. package/dist/tests/config.test.js.map +1 -1
  59. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +1 -0
  60. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +40 -0
  61. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js.map +1 -0
  62. package/dist/tests/typeEvaluator1.test.js +17 -1
  63. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  64. package/dist/tests/typeEvaluator2.test.js +13 -1
  65. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  66. package/dist/tests/typeEvaluator3.test.js +1 -1
  67. package/dist/tests/typeEvaluator4.test.js +5 -1
  68. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  69. package/package.json +8 -7
@@ -112,6 +112,7 @@ export declare class Checker extends ParseTreeWalker {
112
112
  private _validateTypeGuardFunction;
113
113
  private _validateDunderSignatures;
114
114
  private _validateFunctionReturn;
115
+ private _reportUnknownReturnResult;
115
116
  private _validateFinalMemberOverrides;
116
117
  private _reportDuplicateEnumMembers;
117
118
  private _validateProtocolCompatibility;
@@ -3053,21 +3053,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3053
3053
  const implicitlyReturnsNone = this._evaluator.isAfterNodeReachable(node.suite);
3054
3054
  let declaredReturnType = functionType.details.declaredReturnType;
3055
3055
  if (declaredReturnType) {
3056
- if ((0, types_1.isUnknown)(declaredReturnType)) {
3057
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType, diagnosticRules_1.DiagnosticRule.reportUnknownVariableType, localize_1.Localizer.Diagnostic.declaredReturnTypeUnknown(), returnAnnotation);
3058
- }
3059
- else if ((0, typeUtils_1.isPartlyUnknown)(declaredReturnType)) {
3060
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType, diagnosticRules_1.DiagnosticRule.reportUnknownVariableType, localize_1.Localizer.Diagnostic.declaredReturnTypePartiallyUnknown().format({
3061
- returnType: this._evaluator.printType(declaredReturnType, { expandTypeAlias: true }),
3062
- }), returnAnnotation);
3063
- }
3064
- const diag = new diagnostic_1.DiagnosticAddendum();
3056
+ this._reportUnknownReturnResult(node, declaredReturnType);
3065
3057
  if ((0, types_1.isTypeVar)(declaredReturnType) &&
3066
3058
  declaredReturnType.details.declaredVariance === 4 /* Contravariant */) {
3067
- diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeVarIsContravariant().format({
3068
- name: types_1.TypeVarType.getReadableName(declaredReturnType),
3069
- }));
3070
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.returnTypeContravariant() + diag.getString(), returnAnnotation);
3059
+ this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.returnTypeContravariant(), returnAnnotation);
3071
3060
  }
3072
3061
  }
3073
3062
  // Wrap the declared type in a generator type if the function is a generator.
@@ -3106,14 +3095,17 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3106
3095
  }
3107
3096
  else {
3108
3097
  const inferredReturnType = this._evaluator.getFunctionInferredReturnType(functionType);
3109
- if ((0, types_1.isUnknown)(inferredReturnType)) {
3110
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType, diagnosticRules_1.DiagnosticRule.reportUnknownParameterType, localize_1.Localizer.Diagnostic.returnTypeUnknown(), node.name);
3111
- }
3112
- else if ((0, typeUtils_1.isPartlyUnknown)(inferredReturnType)) {
3113
- this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType, diagnosticRules_1.DiagnosticRule.reportUnknownParameterType, localize_1.Localizer.Diagnostic.returnTypePartiallyUnknown().format({
3114
- returnType: this._evaluator.printType(inferredReturnType, { expandTypeAlias: true }),
3115
- }), node.name);
3116
- }
3098
+ this._reportUnknownReturnResult(node, inferredReturnType);
3099
+ }
3100
+ }
3101
+ _reportUnknownReturnResult(node, returnType) {
3102
+ if ((0, types_1.isUnknown)(returnType)) {
3103
+ this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType, diagnosticRules_1.DiagnosticRule.reportUnknownParameterType, localize_1.Localizer.Diagnostic.returnTypeUnknown(), node.name);
3104
+ }
3105
+ else if ((0, typeUtils_1.isPartlyUnknown)(returnType)) {
3106
+ this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType, diagnosticRules_1.DiagnosticRule.reportUnknownParameterType, localize_1.Localizer.Diagnostic.returnTypePartiallyUnknown().format({
3107
+ returnType: this._evaluator.printType(returnType, { expandTypeAlias: true }),
3108
+ }), node.name);
3117
3109
  }
3118
3110
  }
3119
3111
  // Validates that any overridden member variables are not marked