@zzzen/pyright-internal 1.2.0-dev.20230402 → 1.2.0-dev.20230416

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 (120) hide show
  1. package/dist/analyzer/binder.d.ts +8 -0
  2. package/dist/analyzer/binder.js +46 -1
  3. package/dist/analyzer/binder.js.map +1 -1
  4. package/dist/analyzer/checker.js +14 -0
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +5 -0
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/constructorTransform.js +112 -49
  9. package/dist/analyzer/constructorTransform.js.map +1 -1
  10. package/dist/analyzer/declarationUtils.js +2 -1
  11. package/dist/analyzer/declarationUtils.js.map +1 -1
  12. package/dist/analyzer/enums.d.ts +1 -1
  13. package/dist/analyzer/enums.js +114 -55
  14. package/dist/analyzer/enums.js.map +1 -1
  15. package/dist/analyzer/parseTreeUtils.js +9 -4
  16. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  17. package/dist/analyzer/patternMatching.js +3 -0
  18. package/dist/analyzer/patternMatching.js.map +1 -1
  19. package/dist/analyzer/program.d.ts +2 -0
  20. package/dist/analyzer/program.js +104 -17
  21. package/dist/analyzer/program.js.map +1 -1
  22. package/dist/analyzer/service.js +5 -1
  23. package/dist/analyzer/service.js.map +1 -1
  24. package/dist/analyzer/sourceFile.js +1 -1
  25. package/dist/analyzer/sourceFile.js.map +1 -1
  26. package/dist/analyzer/sourceMapper.js +1 -1
  27. package/dist/analyzer/sourceMapper.js.map +1 -1
  28. package/dist/analyzer/typeCacheUtils.js +25 -1
  29. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  30. package/dist/analyzer/typeEvaluator.js +197 -119
  31. package/dist/analyzer/typeEvaluator.js.map +1 -1
  32. package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -2
  33. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  34. package/dist/analyzer/typePrinter.d.ts +1 -1
  35. package/dist/analyzer/typePrinter.js +21 -18
  36. package/dist/analyzer/typePrinter.js.map +1 -1
  37. package/dist/analyzer/typeUtils.d.ts +11 -0
  38. package/dist/analyzer/typeUtils.js +129 -59
  39. package/dist/analyzer/typeUtils.js.map +1 -1
  40. package/dist/analyzer/typedDicts.js +40 -6
  41. package/dist/analyzer/typedDicts.js.map +1 -1
  42. package/dist/analyzer/types.d.ts +3 -1
  43. package/dist/analyzer/types.js +20 -2
  44. package/dist/analyzer/types.js.map +1 -1
  45. package/dist/common/configOptions.d.ts +1 -1
  46. package/dist/common/configOptions.js +4 -4
  47. package/dist/common/configOptions.js.map +1 -1
  48. package/dist/common/fullAccessHost.d.ts +2 -1
  49. package/dist/common/fullAccessHost.js +11 -1
  50. package/dist/common/fullAccessHost.js.map +1 -1
  51. package/dist/common/host.d.ts +3 -2
  52. package/dist/common/host.js +1 -1
  53. package/dist/common/host.js.map +1 -1
  54. package/dist/common/positionUtils.d.ts +2 -1
  55. package/dist/common/positionUtils.js +18 -12
  56. package/dist/common/positionUtils.js.map +1 -1
  57. package/dist/languageServerBase.js +1 -1
  58. package/dist/languageServerBase.js.map +1 -1
  59. package/dist/languageService/autoImporter.d.ts +1 -1
  60. package/dist/languageService/autoImporter.js +2 -4
  61. package/dist/languageService/autoImporter.js.map +1 -1
  62. package/dist/languageService/completionProvider.js +144 -87
  63. package/dist/languageService/completionProvider.js.map +1 -1
  64. package/dist/languageService/completionProviderUtils.js +11 -3
  65. package/dist/languageService/completionProviderUtils.js.map +1 -1
  66. package/dist/languageService/documentSymbolCollector.js +5 -2
  67. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  68. package/dist/languageService/hoverProvider.d.ts +2 -0
  69. package/dist/languageService/hoverProvider.js +66 -45
  70. package/dist/languageService/hoverProvider.js.map +1 -1
  71. package/dist/languageService/indentationUtils.js +8 -3
  72. package/dist/languageService/indentationUtils.js.map +1 -1
  73. package/dist/languageService/insertionPointUtils.js +4 -3
  74. package/dist/languageService/insertionPointUtils.js.map +1 -1
  75. package/dist/pyright.js +1 -2
  76. package/dist/pyright.js.map +1 -1
  77. package/dist/tests/chainedSourceFiles.test.js +27 -0
  78. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  79. package/dist/tests/completions.test.js +241 -3
  80. package/dist/tests/completions.test.js.map +1 -1
  81. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
  82. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  83. package/dist/tests/fourslash/completions.override2.fourslash.js +1 -1
  84. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  85. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js +1 -1
  86. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  87. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js +2 -2
  88. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  89. package/dist/tests/fourslash/hover.variable.docString.fourslash.js +1 -1
  90. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  91. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  92. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  93. package/dist/tests/harness/testHost.js +1 -1
  94. package/dist/tests/harness/testHost.js.map +1 -1
  95. package/dist/tests/harness/vfs/factory.js +2 -2
  96. package/dist/tests/harness/vfs/factory.js.map +1 -1
  97. package/dist/tests/harness/vfs/filesystem.js +26 -25
  98. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  99. package/dist/tests/hoverProvider.test.js +6 -0
  100. package/dist/tests/hoverProvider.test.js.map +1 -1
  101. package/dist/tests/indentationUtils.reindent.test.js +19 -0
  102. package/dist/tests/indentationUtils.reindent.test.js.map +1 -1
  103. package/dist/tests/insertionPointUtils.test.js +13 -0
  104. package/dist/tests/insertionPointUtils.test.js.map +1 -1
  105. package/dist/tests/moveSymbol.insertion.test.js +45 -3
  106. package/dist/tests/moveSymbol.insertion.test.js.map +1 -1
  107. package/dist/tests/positionUtils.test.d.ts +1 -0
  108. package/dist/tests/positionUtils.test.js +48 -0
  109. package/dist/tests/positionUtils.test.js.map +1 -0
  110. package/dist/tests/typeEvaluator1.test.js +14 -0
  111. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  112. package/dist/tests/typeEvaluator2.test.js +20 -0
  113. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  114. package/dist/tests/typeEvaluator3.test.js +9 -1
  115. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  116. package/dist/tests/typePrinter.test.js +5 -0
  117. package/dist/tests/typePrinter.test.js.map +1 -1
  118. package/dist/workspaceFactory.js +5 -5
  119. package/dist/workspaceFactory.js.map +1 -1
  120. package/package.json +1 -1
@@ -107,7 +107,7 @@ test('insert to empty file with comments', () => {
107
107
 
108
108
  // @filename: moved.py
109
109
  //// # comment
110
- //// [|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
110
+ //// [|{|"r":"!n!def foo():!n! pass", "name": "dest"|}|]
111
111
  `;
112
112
  testFromCode(code);
113
113
  });
@@ -119,7 +119,7 @@ test('insert to empty file with comments and blank lines', () => {
119
119
 
120
120
  // @filename: moved.py
121
121
  //// # comment
122
- //// [|{|"r":"!n!!n!def foo():!n! pass", "name": "dest"|}|]
122
+ //// [|{|"r":"def foo():!n! pass", "name": "dest"|}|]
123
123
  ////
124
124
  `;
125
125
  testFromCode(code);
@@ -276,7 +276,7 @@ test('insert to a file with same symbol imported with alias', () => {
276
276
  // @filename: moved.py
277
277
  //// [|{|"r":""|}from test import foo as aliasFoo
278
278
  //// |]
279
- //// aliasFoo()[|{|"r":"!n!!n!def foo():!n! pass", "name": "dest"|}|]
279
+ //// aliasFoo()[|{|"r":"!n!!n!!n!def foo():!n! pass", "name": "dest"|}|]
280
280
  `;
281
281
  testFromCode(code);
282
282
  });
@@ -488,6 +488,48 @@ test('multiple variables in multiple lines 2', () => {
488
488
  `;
489
489
  testFromCode(code);
490
490
  });
491
+ test('insert after comment', () => {
492
+ const code = `
493
+ // @filename: test.py
494
+ //// [|{|"r":""|}[|/*marker*/b|] = 3|]
495
+
496
+ // @filename: moved.py
497
+ //// a = 1 # type: ignore[|{|"r":"!n!b = 3", "name": "dest"|}|]
498
+ `;
499
+ testFromCode(code);
500
+ });
501
+ test('keep comments', () => {
502
+ const code = `
503
+ // @filename: test.py
504
+ //// [|{|"r":""|}def [|/*marker*/test|]():
505
+ //// return # comment|]
506
+
507
+ // @filename: moved.py
508
+ //// [|{|"r":"def test():!n! return # comment", "name": "dest"|}|]
509
+ `;
510
+ testFromCode(code);
511
+ });
512
+ test('statement list', () => {
513
+ const code = `
514
+ // @filename: test.py
515
+ //// [|{|"r":""|}[|/*marker*/a|] = 1|]
516
+
517
+ // @filename: moved.py
518
+ //// print("hello")[|{|"r":"!n!a = 1", "name": "dest"|}|]
519
+ `;
520
+ testFromCode(code);
521
+ });
522
+ test('regular statement', () => {
523
+ const code = `
524
+ // @filename: test.py
525
+ //// [|{|"r":""|}[|/*marker*/a|] = 1|]
526
+
527
+ // @filename: moved.py
528
+ //// if True:
529
+ //// pass[|{|"r":"!n!!n!a = 1", "name": "dest"|}|]
530
+ `;
531
+ testFromCode(code);
532
+ });
491
533
  function testFromCode(code) {
492
534
  const state = (0, testState_1.parseAndGetTestState)(code).state;
493
535
  (0, renameModuleTestUtils_1.testMoveSymbolAtPosition)(state, state.getMarkerByName('marker').fileName, state.getMarkerByName('dest').fileName, state.getPositionRange('marker').start);
@@ -1 +1 @@
1
- {"version":3,"file":"moveSymbol.insertion.test.js","sourceRoot":"","sources":["../../../src/tests/moveSymbol.insertion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moveSymbol.insertion.test.js","sourceRoot":"","sources":["../../../src/tests/moveSymbol.insertion.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /*
3
+ * positionUtils.test.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Unit tests for positionUtils module.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const assert_1 = __importDefault(require("assert"));
14
+ const diagnosticSink_1 = require("../common/diagnosticSink");
15
+ const positionUtils_1 = require("../common/positionUtils");
16
+ const parser_1 = require("../parser/parser");
17
+ test('getLineEndOffset', () => {
18
+ const code = 'a = 1';
19
+ verifyLineEnding(code, 0, 5);
20
+ });
21
+ test('getLineEndOffset with windows style ending at EOF', () => {
22
+ const code = 'a = 1\r\n';
23
+ verifyLineEnding(code, 0, 5);
24
+ });
25
+ test('getLineEndOffset with windows style ending', () => {
26
+ const code = 'a = 1\r\nb = 1';
27
+ verifyLineEnding(code, 0, 5);
28
+ });
29
+ test('getLineEndOffset with unix style ending at EOF', () => {
30
+ const code = 'a = 1\n';
31
+ verifyLineEnding(code, 0, 5);
32
+ });
33
+ test('getLineEndOffset with unix style ending', () => {
34
+ const code = 'a = 1\nb = 1';
35
+ verifyLineEnding(code, 0, 5);
36
+ });
37
+ test('getLineEndOffset with mixed style ending', () => {
38
+ const code = 'a = 1\r\nb = 1\nc = 1\n';
39
+ verifyLineEnding(code, 0, 5);
40
+ verifyLineEnding(code, 1, 5);
41
+ verifyLineEnding(code, 2, 5);
42
+ });
43
+ function verifyLineEnding(code, line, expected) {
44
+ const parser = new parser_1.Parser();
45
+ const parseResults = parser.parseSourceFile(code, new parser_1.ParseOptions(), new diagnosticSink_1.DiagnosticSink());
46
+ assert_1.default.strictEqual((0, positionUtils_1.getLineEndPosition)(parseResults.tokenizerOutput, parseResults.text, line).character, expected);
47
+ }
48
+ //# sourceMappingURL=positionUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positionUtils.test.js","sourceRoot":"","sources":["../../../src/tests/positionUtils.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAE5B,6DAA0D;AAC1D,2DAA6D;AAC7D,6CAAwD;AAExD,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC;IAErB,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG,WAAW,CAAC;IAEzB,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC;IAE9B,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,IAAI,GAAG,SAAS,CAAC;IAEvB,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,cAAc,CAAC;IAE5B,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IAClD,MAAM,IAAI,GAAG,yBAAyB,CAAC;IAEvC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,qBAAY,EAAE,EAAE,IAAI,+BAAc,EAAE,CAAC,CAAC;IAE5F,gBAAM,CAAC,WAAW,CAAC,IAAA,kCAAkB,EAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtH,CAAC"}
@@ -492,6 +492,12 @@ test('Unpack4', () => {
492
492
  const analysisResults39 = TestUtils.typeAnalyzeSampleFiles(['unpack4.py'], configOptions);
493
493
  TestUtils.validateResults(analysisResults39, 1);
494
494
  });
495
+ test('Unpack4', () => {
496
+ const configOptions = new configOptions_1.ConfigOptions('.');
497
+ configOptions.defaultPythonVersion = pythonVersion_1.PythonVersion.V3_11;
498
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['unpack5.py'], configOptions);
499
+ TestUtils.validateResults(analysisResults, 0);
500
+ });
495
501
  test('Lambda1', () => {
496
502
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['lambda1.py']);
497
503
  TestUtils.validateResults(analysisResults, 5);
@@ -528,6 +534,10 @@ test('Lambda9', () => {
528
534
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['lambda9.py']);
529
535
  TestUtils.validateResults(analysisResults, 0);
530
536
  });
537
+ test('Lambda10', () => {
538
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['lambda10.py']);
539
+ TestUtils.validateResults(analysisResults, 0);
540
+ });
531
541
  test('Call1', () => {
532
542
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['call1.py']);
533
543
  TestUtils.validateResults(analysisResults, 6);
@@ -1043,6 +1053,10 @@ test('Partial3', () => {
1043
1053
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['partial3.py']);
1044
1054
  TestUtils.validateResults(analysisResults, 0);
1045
1055
  });
1056
+ test('Partial4', () => {
1057
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['partial4.py']);
1058
+ TestUtils.validateResults(analysisResults, 3);
1059
+ });
1046
1060
  test('TotalOrdering1', () => {
1047
1061
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['totalOrdering1.py']);
1048
1062
  TestUtils.validateResults(analysisResults, 5);
@@ -1 +1 @@
1
- {"version":3,"file":"typeEvaluator1.test.js","sourceRoot":"","sources":["../../../src/tests/typeEvaluator1.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeEvaluator1.test.js","sourceRoot":"","sources":["../../../src/tests/typeEvaluator1.test.ts"],"names":[],"mappings":"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"}
@@ -722,6 +722,22 @@ test('GenericTypes104', () => {
722
722
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['genericTypes104.py']);
723
723
  TestUtils.validateResults(analysisResults, 1);
724
724
  });
725
+ test('GenericTypes105', () => {
726
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['genericTypes105.py']);
727
+ TestUtils.validateResults(analysisResults, 0);
728
+ });
729
+ test('GenericTypes106', () => {
730
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['genericTypes106.py']);
731
+ TestUtils.validateResults(analysisResults, 0);
732
+ });
733
+ test('GenericTypes107', () => {
734
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['genericTypes107.py']);
735
+ TestUtils.validateResults(analysisResults, 0);
736
+ });
737
+ test('GenericTypes108', () => {
738
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['genericTypes108.py']);
739
+ TestUtils.validateResults(analysisResults, 0);
740
+ });
725
741
  test('Protocol1', () => {
726
742
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['protocol1.py']);
727
743
  TestUtils.validateResults(analysisResults, 6);
@@ -878,6 +894,10 @@ test('Protocol38', () => {
878
894
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['protocol38.py']);
879
895
  TestUtils.validateResults(analysisResults, 0);
880
896
  });
897
+ test('Protocol39', () => {
898
+ const analysisResults = TestUtils.typeAnalyzeSampleFiles(['protocol39.py']);
899
+ TestUtils.validateResults(analysisResults, 0);
900
+ });
881
901
  test('TypedDict1', () => {
882
902
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typedDict1.py']);
883
903
  TestUtils.validateResults(analysisResults, 6);