@zzzen/pyright-internal 1.2.0-dev.20220703 → 1.2.0-dev.20220710

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 (75) hide show
  1. package/README.md +82 -1
  2. package/dist/analyzer/analyzerFileInfo.d.ts +2 -1
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/binder.js +1 -1
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.js +11 -8
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.js +6 -1
  9. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  10. package/dist/analyzer/constraintSolver.js +5 -5
  11. package/dist/analyzer/constraintSolver.js.map +1 -1
  12. package/dist/analyzer/functionTransform.js +2 -1
  13. package/dist/analyzer/functionTransform.js.map +1 -1
  14. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  15. package/dist/analyzer/parseTreeUtils.js +12 -7
  16. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  17. package/dist/analyzer/patternMatching.js +1 -1
  18. package/dist/analyzer/patternMatching.js.map +1 -1
  19. package/dist/analyzer/program.d.ts +2 -2
  20. package/dist/analyzer/program.js +1 -1
  21. package/dist/analyzer/program.js.map +1 -1
  22. package/dist/analyzer/service.d.ts +3 -2
  23. package/dist/analyzer/service.js +3 -2
  24. package/dist/analyzer/service.js.map +1 -1
  25. package/dist/analyzer/sourceFile.d.ts +6 -1
  26. package/dist/analyzer/sourceFile.js +17 -5
  27. package/dist/analyzer/sourceFile.js.map +1 -1
  28. package/dist/analyzer/typeEvaluator.js +179 -128
  29. package/dist/analyzer/typeEvaluator.js.map +1 -1
  30. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -3
  31. package/dist/analyzer/typeGuards.js +5 -0
  32. package/dist/analyzer/typeGuards.js.map +1 -1
  33. package/dist/analyzer/typeUtils.d.ts +1 -1
  34. package/dist/analyzer/typeUtils.js +4 -4
  35. package/dist/analyzer/typeUtils.js.map +1 -1
  36. package/dist/analyzer/typedDicts.js +3 -1
  37. package/dist/analyzer/typedDicts.js.map +1 -1
  38. package/dist/analyzer/types.d.ts +6 -5
  39. package/dist/analyzer/types.js +17 -9
  40. package/dist/analyzer/types.js.map +1 -1
  41. package/dist/languageServerBase.d.ts +3 -2
  42. package/dist/languageServerBase.js +3 -2
  43. package/dist/languageServerBase.js.map +1 -1
  44. package/dist/languageService/indentationUtils.js +3 -2
  45. package/dist/languageService/indentationUtils.js.map +1 -1
  46. package/dist/languageService/insertionPointUtils.d.ts +9 -0
  47. package/dist/languageService/insertionPointUtils.js +110 -0
  48. package/dist/languageService/insertionPointUtils.js.map +1 -0
  49. package/dist/languageService/signatureHelpProvider.js +4 -2
  50. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  51. package/dist/parser/parser.d.ts +2 -1
  52. package/dist/parser/parser.js +2 -1
  53. package/dist/parser/parser.js.map +1 -1
  54. package/dist/parser/tokenizer.d.ts +2 -1
  55. package/dist/parser/tokenizer.js +3 -2
  56. package/dist/parser/tokenizer.js.map +1 -1
  57. package/dist/tests/chainedSourceFiles.test.js +2 -1
  58. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  59. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
  60. package/dist/tests/fourslash/import.multipart.fourslash.js +18 -0
  61. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -0
  62. package/dist/tests/fourslash/signature.simple.fourslash.js +16 -0
  63. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  64. package/dist/tests/insertionPointUtils.test.d.ts +1 -0
  65. package/dist/tests/insertionPointUtils.test.js +74 -0
  66. package/dist/tests/insertionPointUtils.test.js.map +1 -0
  67. package/dist/tests/testUtils.js +2 -1
  68. package/dist/tests/testUtils.js.map +1 -1
  69. package/dist/tests/typeEvaluator3.test.js +8 -0
  70. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  71. package/dist/tests/typeEvaluator4.test.js +10 -0
  72. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  73. package/dist/tests/typeEvaluator5.test.js +6 -0
  74. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  75. package/package.json +3 -2
@@ -51,6 +51,7 @@ const ParseTreeUtils = __importStar(require("./parseTreeUtils"));
51
51
  const parseTreeWalker_1 = require("./parseTreeWalker");
52
52
  const patternMatching_1 = require("./patternMatching");
53
53
  const scopeUtils_1 = require("./scopeUtils");
54
+ const sourceFile_1 = require("./sourceFile");
54
55
  const sourceMapper_1 = require("./sourceMapper");
55
56
  const staticExpressions_1 = require("./staticExpressions");
56
57
  const SymbolNameUtils = __importStar(require("./symbolNameUtils"));
@@ -327,7 +328,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
327
328
  if (annotationNode && index < functionTypeResult.functionType.details.parameters.length) {
328
329
  const paramType = functionTypeResult.functionType.details.parameters[index].type;
329
330
  if ((0, types_1.isTypeVar)(paramType) &&
330
- paramType.details.declaredVariance === 2 /* Covariant */ &&
331
+ paramType.details.declaredVariance === 3 /* Covariant */ &&
331
332
  !paramType.details.isSynthesized &&
332
333
  functionTypeResult.functionType.details.name !== '__init__') {
333
334
  this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.paramTypeCovariant(), annotationNode);
@@ -1894,7 +1895,9 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1894
1895
  }
1895
1896
  _conditionallyReportUnusedSymbol(name, symbol, scopeType) {
1896
1897
  const accessedSymbolSet = this._fileInfo.accessedSymbolSet;
1897
- if (symbol.isIgnoredForProtocolMatch() || accessedSymbolSet.has(symbol.id)) {
1898
+ if (symbol.isIgnoredForProtocolMatch() ||
1899
+ accessedSymbolSet.has(symbol.id) ||
1900
+ this._fileInfo.ipythonMode === sourceFile_1.IPythonMode.CellDocs) {
1898
1901
  return;
1899
1902
  }
1900
1903
  // A name of "_" means "I know this symbol isn't used", so
@@ -2549,7 +2552,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2549
2552
  }
2550
2553
  const diag = new diagnostic_1.DiagnosticAddendum();
2551
2554
  if ((0, types_1.isTypeVar)(declaredReturnType) &&
2552
- declaredReturnType.details.declaredVariance === 3 /* Contravariant */) {
2555
+ declaredReturnType.details.declaredVariance === 4 /* Contravariant */) {
2553
2556
  diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeVarIsContravariant().format({
2554
2557
  name: types_1.TypeVarType.getReadableName(declaredReturnType),
2555
2558
  }));
@@ -2910,26 +2913,26 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2910
2913
  const isDestSubtypeOfSrc = this._evaluator.assignClassToSelf(srcType, destType);
2911
2914
  let expectedVariance;
2912
2915
  if (isDestSubtypeOfSrc) {
2913
- expectedVariance = 2 /* Covariant */;
2916
+ expectedVariance = 3 /* Covariant */;
2914
2917
  }
2915
2918
  else {
2916
2919
  const isSrcSubtypeOfDest = this._evaluator.assignClassToSelf(destType, srcType);
2917
2920
  if (isSrcSubtypeOfDest) {
2918
- expectedVariance = 3 /* Contravariant */;
2921
+ expectedVariance = 4 /* Contravariant */;
2919
2922
  }
2920
2923
  else {
2921
- expectedVariance = 1 /* Invariant */;
2924
+ expectedVariance = 2 /* Invariant */;
2922
2925
  }
2923
2926
  }
2924
2927
  if (expectedVariance !== classType.details.typeParameters[paramIndex].details.declaredVariance) {
2925
2928
  let message;
2926
- if (expectedVariance === 2 /* Covariant */) {
2929
+ if (expectedVariance === 3 /* Covariant */) {
2927
2930
  message = localize_1.Localizer.Diagnostic.protocolVarianceCovariant().format({
2928
2931
  variable: param.details.name,
2929
2932
  class: classType.details.name,
2930
2933
  });
2931
2934
  }
2932
- else if (expectedVariance === 3 /* Contravariant */) {
2935
+ else if (expectedVariance === 4 /* Contravariant */) {
2933
2936
  message = localize_1.Localizer.Diagnostic.protocolVarianceContravariant().format({
2934
2937
  variable: param.details.name,
2935
2938
  class: classType.details.name,