@zzzen/pyright-internal 1.2.0-dev.20220724 → 1.2.0-dev.20220731

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 (58) hide show
  1. package/dist/analyzer/checker.js +11 -3
  2. package/dist/analyzer/checker.js.map +1 -1
  3. package/dist/analyzer/constraintSolver.js +4 -1
  4. package/dist/analyzer/constraintSolver.js.map +1 -1
  5. package/dist/analyzer/enums.d.ts +13 -0
  6. package/dist/analyzer/enums.js +207 -0
  7. package/dist/analyzer/enums.js.map +1 -0
  8. package/dist/analyzer/importStatementUtils.d.ts +2 -0
  9. package/dist/analyzer/importStatementUtils.js +49 -1
  10. package/dist/analyzer/importStatementUtils.js.map +1 -1
  11. package/dist/analyzer/parseTreeUtils.js +5 -0
  12. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  13. package/dist/analyzer/patternMatching.js +2 -2
  14. package/dist/analyzer/patternMatching.js.map +1 -1
  15. package/dist/analyzer/properties.js +1 -1
  16. package/dist/analyzer/properties.js.map +1 -1
  17. package/dist/analyzer/typeEvaluator.js +158 -219
  18. package/dist/analyzer/typeEvaluator.js.map +1 -1
  19. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  20. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  21. package/dist/analyzer/typeEvaluatorWithTracker.js +1 -0
  22. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  23. package/dist/analyzer/typeGuards.js +1 -1
  24. package/dist/analyzer/typeGuards.js.map +1 -1
  25. package/dist/analyzer/typePrinter.js +7 -1
  26. package/dist/analyzer/typePrinter.js.map +1 -1
  27. package/dist/analyzer/typeUtils.d.ts +0 -1
  28. package/dist/analyzer/typeUtils.js +2 -17
  29. package/dist/analyzer/typeUtils.js.map +1 -1
  30. package/dist/analyzer/types.js +10 -1
  31. package/dist/analyzer/types.js.map +1 -1
  32. package/dist/commands/commandResult.js +1 -1
  33. package/dist/commands/commandResult.js.map +1 -1
  34. package/dist/common/workspaceEditUtils.d.ts +1 -0
  35. package/dist/common/workspaceEditUtils.js +10 -6
  36. package/dist/common/workspaceEditUtils.js.map +1 -1
  37. package/dist/languageServerBase.d.ts +2 -1
  38. package/dist/languageServerBase.js +2 -1
  39. package/dist/languageServerBase.js.map +1 -1
  40. package/dist/languageService/completionProvider.js +0 -1
  41. package/dist/languageService/completionProvider.js.map +1 -1
  42. package/dist/tests/fourslash/completions.commitChars.fourslash.js +12 -0
  43. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -1
  44. package/dist/tests/fourslash/hover.init.fourslash.js +2 -2
  45. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  46. package/dist/tests/harness/fourslash/fourSlashParser.js +5 -1
  47. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  48. package/dist/tests/harness/fourslash/testState.js +6 -6
  49. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  50. package/dist/tests/testState.test.js +1 -1
  51. package/dist/tests/testState.test.js.map +1 -1
  52. package/dist/tests/typeEvaluator1.test.js +5 -1
  53. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  54. package/dist/tests/typeEvaluator3.test.js +8 -0
  55. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  56. package/dist/workspaceMap.js +1 -1
  57. package/dist/workspaceMap.js.map +1 -1
  58. package/package.json +2 -2
@@ -2855,6 +2855,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2855
2855
  if (this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable === 'none') {
2856
2856
  return;
2857
2857
  }
2858
+ // Protocol classes are exempted from this check.
2859
+ if (types_1.ClassType.isProtocolClass(classType)) {
2860
+ return;
2861
+ }
2858
2862
  classType.details.fields.forEach((localSymbol, name) => {
2859
2863
  // This applies only to instance members.
2860
2864
  if (!localSymbol.isInstanceMember()) {
@@ -3519,6 +3523,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3519
3523
  // Performs checks on a function that is located within a class
3520
3524
  // and has been determined not to be a property accessor.
3521
3525
  _validateMethod(node, functionType, classNode) {
3526
+ var _a, _b, _c, _d;
3522
3527
  const classTypeInfo = this._evaluator.getTypeOfClass(classNode);
3523
3528
  const classType = classTypeInfo === null || classTypeInfo === void 0 ? void 0 : classTypeInfo.classType;
3524
3529
  if (node.name && classType) {
@@ -3531,7 +3536,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3531
3536
  }
3532
3537
  }
3533
3538
  }
3534
- if (node.name && node.name.value === '__new__') {
3539
+ if (((_a = node.name) === null || _a === void 0 ? void 0 : _a.value) === '__new__') {
3535
3540
  // __new__ overrides should have a "cls" parameter.
3536
3541
  if (node.parameters.length === 0 ||
3537
3542
  !node.parameters[0].name ||
@@ -3542,7 +3547,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3542
3547
  this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
3543
3548
  }
3544
3549
  }
3545
- else if (node.name && node.name.value === '__init_subclass__') {
3550
+ else if (((_b = node.name) === null || _b === void 0 ? void 0 : _b.value) === '__init_subclass__') {
3546
3551
  // __init_subclass__ overrides should have a "cls" parameter.
3547
3552
  if (node.parameters.length === 0 || !node.parameters[0].name || node.parameters[0].name.value !== 'cls') {
3548
3553
  this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName, diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.Localizer.Diagnostic.initSubclassClsParam(), node.parameters.length > 0 ? node.parameters[0] : node.name);
@@ -3551,7 +3556,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3551
3556
  this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
3552
3557
  }
3553
3558
  }
3554
- else if (node.name && node.name.value === '__class_getitem__') {
3559
+ else if (((_c = node.name) === null || _c === void 0 ? void 0 : _c.value) === '__class_getitem__') {
3555
3560
  // __class_getitem__ overrides should have a "cls" parameter.
3556
3561
  if (node.parameters.length === 0 || !node.parameters[0].name || node.parameters[0].name.value !== 'cls') {
3557
3562
  this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName, diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.Localizer.Diagnostic.classGetItemClsParam(), node.parameters.length > 0 ? node.parameters[0] : node.name);
@@ -3560,6 +3565,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3560
3565
  this._validateClsSelfParameterType(functionType, classType, /* isCls */ true);
3561
3566
  }
3562
3567
  }
3568
+ else if (((_d = node.name) === null || _d === void 0 ? void 0 : _d.value) === '_generate_next_value_') {
3569
+ // Skip this check for _generate_next_value_.
3570
+ }
3563
3571
  else if (types_1.FunctionType.isStaticMethod(functionType)) {
3564
3572
  // Static methods should not have "self" or "cls" parameters.
3565
3573
  if (node.parameters.length > 0 && node.parameters[0].name) {