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

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 (177) hide show
  1. package/README.md +82 -1
  2. package/dist/analyzer/analysis.js +1 -1
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/analyzerFileInfo.d.ts +2 -1
  5. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  6. package/dist/analyzer/binder.js +15 -1
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.d.ts +1 -0
  9. package/dist/analyzer/checker.js +100 -51
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowEngine.d.ts +0 -1
  12. package/dist/analyzer/codeFlowEngine.js +196 -197
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/codeFlowTypes.d.ts +1 -1
  15. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  16. package/dist/analyzer/constraintSolver.js +6 -7
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/dataClasses.js +13 -4
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/functionTransform.js +2 -1
  21. package/dist/analyzer/functionTransform.js.map +1 -1
  22. package/dist/analyzer/importResolver.js +5 -4
  23. package/dist/analyzer/importResolver.js.map +1 -1
  24. package/dist/analyzer/importStatementUtils.d.ts +1 -1
  25. package/dist/analyzer/importStatementUtils.js +47 -18
  26. package/dist/analyzer/importStatementUtils.js.map +1 -1
  27. package/dist/analyzer/parseTreeUtils.d.ts +6 -1
  28. package/dist/analyzer/parseTreeUtils.js +118 -10
  29. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +2 -2
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +2 -2
  33. package/dist/analyzer/program.js +1 -1
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/service.d.ts +4 -3
  36. package/dist/analyzer/service.js +40 -39
  37. package/dist/analyzer/service.js.map +1 -1
  38. package/dist/analyzer/sourceFile.d.ts +6 -1
  39. package/dist/analyzer/sourceFile.js +57 -14
  40. package/dist/analyzer/sourceFile.js.map +1 -1
  41. package/dist/analyzer/typeEvaluator.d.ts +1 -1
  42. package/dist/analyzer/typeEvaluator.js +754 -618
  43. package/dist/analyzer/typeEvaluator.js.map +1 -1
  44. package/dist/analyzer/typeEvaluatorTypes.d.ts +15 -15
  45. package/dist/analyzer/typeEvaluatorWithTracker.js +8 -7
  46. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  47. package/dist/analyzer/typeGuards.d.ts +2 -0
  48. package/dist/analyzer/typeGuards.js +47 -14
  49. package/dist/analyzer/typeGuards.js.map +1 -1
  50. package/dist/analyzer/typeUtils.d.ts +5 -3
  51. package/dist/analyzer/typeUtils.js +103 -27
  52. package/dist/analyzer/typeUtils.js.map +1 -1
  53. package/dist/analyzer/typedDicts.d.ts +1 -0
  54. package/dist/analyzer/typedDicts.js +27 -4
  55. package/dist/analyzer/typedDicts.js.map +1 -1
  56. package/dist/analyzer/types.d.ts +15 -5
  57. package/dist/analyzer/types.js +107 -9
  58. package/dist/analyzer/types.js.map +1 -1
  59. package/dist/backgroundAnalysisBase.d.ts +2 -1
  60. package/dist/backgroundAnalysisBase.js +7 -0
  61. package/dist/backgroundAnalysisBase.js.map +1 -1
  62. package/dist/backgroundThreadBase.js +1 -0
  63. package/dist/backgroundThreadBase.js.map +1 -1
  64. package/dist/common/chokidarFileWatcherProvider.d.ts +1 -2
  65. package/dist/common/chokidarFileWatcherProvider.js +0 -3
  66. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  67. package/dist/common/configOptions.d.ts +1 -0
  68. package/dist/common/configOptions.js +4 -0
  69. package/dist/common/configOptions.js.map +1 -1
  70. package/dist/common/diagnostic.d.ts +2 -1
  71. package/dist/common/diagnostic.js +2 -1
  72. package/dist/common/diagnostic.js.map +1 -1
  73. package/dist/common/diagnosticRules.d.ts +1 -0
  74. package/dist/common/diagnosticRules.js +1 -0
  75. package/dist/common/diagnosticRules.js.map +1 -1
  76. package/dist/common/diagnosticSink.d.ts +3 -0
  77. package/dist/common/diagnosticSink.js +15 -2
  78. package/dist/common/diagnosticSink.js.map +1 -1
  79. package/dist/common/editAction.d.ts +6 -0
  80. package/dist/common/editAction.js +15 -0
  81. package/dist/common/editAction.js.map +1 -1
  82. package/dist/common/fileSystem.d.ts +4 -1
  83. package/dist/common/fileSystem.js +6 -4
  84. package/dist/common/fileSystem.js.map +1 -1
  85. package/dist/common/realFileSystem.d.ts +2 -2
  86. package/dist/common/realFileSystem.js.map +1 -1
  87. package/dist/common/textEditUtils.d.ts +22 -2
  88. package/dist/common/textEditUtils.js +138 -1
  89. package/dist/common/textEditUtils.js.map +1 -1
  90. package/dist/common/uriParser.d.ts +2 -0
  91. package/dist/common/uriParser.js +11 -0
  92. package/dist/common/uriParser.js.map +1 -1
  93. package/dist/languageServerBase.d.ts +19 -18
  94. package/dist/languageServerBase.js +75 -61
  95. package/dist/languageServerBase.js.map +1 -1
  96. package/dist/languageService/codeActionProvider.d.ts +2 -2
  97. package/dist/languageService/codeActionProvider.js +1 -1
  98. package/dist/languageService/codeActionProvider.js.map +1 -1
  99. package/dist/languageService/completionProvider.d.ts +15 -11
  100. package/dist/languageService/completionProvider.js +76 -5
  101. package/dist/languageService/completionProvider.js.map +1 -1
  102. package/dist/languageService/indentationUtils.js +3 -2
  103. package/dist/languageService/indentationUtils.js.map +1 -1
  104. package/dist/languageService/insertionPointUtils.d.ts +9 -0
  105. package/dist/languageService/insertionPointUtils.js +110 -0
  106. package/dist/languageService/insertionPointUtils.js.map +1 -0
  107. package/dist/languageService/renameModuleProvider.d.ts +1 -4
  108. package/dist/languageService/renameModuleProvider.js +10 -46
  109. package/dist/languageService/renameModuleProvider.js.map +1 -1
  110. package/dist/languageService/signatureHelpProvider.js +4 -2
  111. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  112. package/dist/languageService/tooltipUtils.js +1 -3
  113. package/dist/languageService/tooltipUtils.js.map +1 -1
  114. package/dist/localization/localize.d.ts +13 -0
  115. package/dist/localization/localize.js +4 -0
  116. package/dist/localization/localize.js.map +1 -1
  117. package/dist/localization/package.nls.en-us.json +4 -0
  118. package/dist/parser/parser.d.ts +2 -1
  119. package/dist/parser/parser.js +11 -2
  120. package/dist/parser/parser.js.map +1 -1
  121. package/dist/parser/tokenizer.d.ts +2 -1
  122. package/dist/parser/tokenizer.js +3 -2
  123. package/dist/parser/tokenizer.js.map +1 -1
  124. package/dist/pyright.js +3 -1
  125. package/dist/pyright.js.map +1 -1
  126. package/dist/pyrightFileSystem.d.ts +20 -2
  127. package/dist/pyrightFileSystem.js +29 -2
  128. package/dist/pyrightFileSystem.js.map +1 -1
  129. package/dist/server.js +4 -4
  130. package/dist/server.js.map +1 -1
  131. package/dist/tests/chainedSourceFiles.test.js +4 -1
  132. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  133. package/dist/tests/checker.test.js +9 -0
  134. package/dist/tests/checker.test.js.map +1 -1
  135. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +1 -0
  136. package/dist/tests/fourslash/completions.commitChars.fourslash.js +47 -0
  137. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -0
  138. package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
  139. package/dist/tests/fourslash/completions.triggers.fourslash.js +29 -0
  140. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -0
  141. package/dist/tests/fourslash/fourslash.d.ts +1 -0
  142. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
  143. package/dist/tests/fourslash/import.multipart.fourslash.js +18 -0
  144. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -0
  145. package/dist/tests/fourslash/signature.simple.fourslash.js +16 -0
  146. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  147. package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
  148. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  149. package/dist/tests/harness/fourslash/testState.js +12 -3
  150. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  151. package/dist/tests/insertionPointUtils.test.d.ts +1 -0
  152. package/dist/tests/insertionPointUtils.test.js +74 -0
  153. package/dist/tests/insertionPointUtils.test.js.map +1 -0
  154. package/dist/tests/pyrightFileSystem.test.js +28 -0
  155. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  156. package/dist/tests/renameModuleTestUtils.js +5 -87
  157. package/dist/tests/renameModuleTestUtils.js.map +1 -1
  158. package/dist/tests/testStateUtils.d.ts +8 -0
  159. package/dist/tests/testStateUtils.js +110 -0
  160. package/dist/tests/testStateUtils.js.map +1 -0
  161. package/dist/tests/testUtils.d.ts +2 -1
  162. package/dist/tests/testUtils.js +11 -7
  163. package/dist/tests/testUtils.js.map +1 -1
  164. package/dist/tests/typeEvaluator1.test.js +2 -6
  165. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  166. package/dist/tests/typeEvaluator2.test.js +16 -4
  167. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  168. package/dist/tests/typeEvaluator3.test.js +9 -1
  169. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  170. package/dist/tests/typeEvaluator4.test.js +26 -0
  171. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  172. package/dist/tests/typeEvaluator5.test.js +6 -0
  173. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  174. package/dist/workspaceMap.d.ts +1 -0
  175. package/dist/workspaceMap.js +10 -0
  176. package/dist/workspaceMap.js.map +1 -1
  177. package/package.json +4 -3
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /*
3
+ * insertionPointUtils.test.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Unit tests for insertionPointUtils 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 pathUtils_1 = require("../common/pathUtils");
15
+ const insertionPointUtils_1 = require("../languageService/insertionPointUtils");
16
+ const testState_1 = require("./harness/fourslash/testState");
17
+ test('insert symbol to module', () => {
18
+ const code = `
19
+ //// def foo(): pass[|/*marker*/|]
20
+ `;
21
+ testInsertionPoint(code, 'bar');
22
+ });
23
+ test('insert symbol to module before private symbol', () => {
24
+ const code = `
25
+ //// def foo(): pass[|/*marker*/|]
26
+ //// def __private(): pass
27
+ `;
28
+ testInsertionPoint(code, 'bar');
29
+ });
30
+ test('insert private symbol to module', () => {
31
+ const code = `
32
+ //// def foo(): pass
33
+ //// def __private(): pass[|/*marker*/|]
34
+ `;
35
+ testInsertionPoint(code, '__another');
36
+ });
37
+ test('no insertion on existing symbol', () => {
38
+ const code = `
39
+ //// [|/*marker*/|]def foo(): pass
40
+ //// def __private(): pass
41
+ `;
42
+ testNoInsertionPoint(code, 'foo');
43
+ });
44
+ test('no insertion symbol with imported symbol with same name', () => {
45
+ const code = `
46
+ //// from os import path[|/*marker*/|]
47
+ //// def __private(): pass
48
+ `;
49
+ testNoInsertionPoint(code, 'path');
50
+ });
51
+ test('insert symbol with imported symbol with same name', () => {
52
+ const code = `
53
+ //// from os import path[|/*marker*/|]
54
+ //// def __private(): pass
55
+ `;
56
+ testInsertionPoint(code, 'path', {
57
+ symbolDeclToIgnore: (0, pathUtils_1.normalizeSlashes)('\\typeshed-fallback\\stdlib\\os\\__init__.pyi'),
58
+ });
59
+ });
60
+ function testInsertionPoint(code, symbolName, options) {
61
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
62
+ const marker = state.getMarkerByName('marker');
63
+ const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
64
+ const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName, options);
65
+ assert_1.default.strictEqual(actual, marker.position);
66
+ }
67
+ function testNoInsertionPoint(code, symbolName, options) {
68
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
69
+ const marker = state.getMarkerByName('marker');
70
+ const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
71
+ const actual = (0, insertionPointUtils_1.getInsertionPointForSymbolUnderModule)(state.program.evaluator, parseResults, symbolName, options);
72
+ (0, assert_1.default)(!actual);
73
+ }
74
+ //# sourceMappingURL=insertionPointUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertionPointUtils.test.js","sourceRoot":"","sources":["../../../src/tests/insertionPointUtils.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAE5B,mDAAuD;AACvD,gFAAiH;AACjH,6DAAqE;AAErE,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,IAAI,GAAG;;KAEZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACjE,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;QAC7B,kBAAkB,EAAE,IAAA,4BAAgB,EAAC,+CAA+C,CAAC;KACxF,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACpF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,eAAe,EAAG,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAA,2DAAqC,EAAC,KAAK,CAAC,OAAO,CAAC,SAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClH,gBAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACtF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,eAAe,EAAG,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAA,2DAAqC,EAAC,KAAK,CAAC,OAAO,CAAC,SAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClH,IAAA,gBAAM,EAAC,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC"}
@@ -139,6 +139,34 @@ test('uri tests', () => {
139
139
  fs.pendingRequest(file, false);
140
140
  (0, assert_1.default)(!fs.removeUriMap('file://test.pyi', file));
141
141
  });
142
+ test('bundled partial stubs', () => {
143
+ const bundledPath = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'bundled');
144
+ const files = [
145
+ {
146
+ path: (0, pathUtils_1.combinePaths)(bundledPath, 'myLib-stubs', 'partialStub.pyi'),
147
+ content: 'def test(): ...',
148
+ },
149
+ {
150
+ path: (0, pathUtils_1.combinePaths)(bundledPath, 'myLib-stubs', 'py.typed'),
151
+ content: 'partial\n',
152
+ },
153
+ {
154
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.py'),
155
+ content: 'def test(): pass',
156
+ },
157
+ {
158
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'py.typed'),
159
+ content: '',
160
+ },
161
+ ];
162
+ const fs = createFileSystem(files);
163
+ fs.processPartialStubPackages([bundledPath], [libraryRoot], bundledPath);
164
+ const stubFile = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi');
165
+ (0, assert_1.default)(!fs.existsSync(stubFile));
166
+ const myLib = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib');
167
+ const entries = fs.readdirEntriesSync(myLib);
168
+ assert_1.default.strictEqual(2, entries.length);
169
+ });
142
170
  function createFileSystem(files) {
143
171
  const fs = new filesystem_1.TestFileSystem(/* ignoreCase */ false, { cwd: (0, pathUtils_1.normalizeSlashes)('/') });
144
172
  for (const file of files) {
@@ -1 +1 @@
1
- {"version":3,"file":"pyrightFileSystem.test.js","sourceRoot":"","sources":["../../../src/tests/pyrightFileSystem.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyrightFileSystem.test.js","sourceRoot":"","sources":["../../../src/tests/pyrightFileSystem.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  /*
3
- * renameModule.fromImports.test.ts
3
+ * renameModuleTestUtils.ts
4
4
  * Copyright (c) Microsoft Corporation.
5
5
  * Licensed under the MIT license.
6
6
  *
7
- * Tests Program.RenameModule
7
+ * Test helpers for rename module tests
8
8
  */
9
9
  var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -14,11 +14,8 @@ exports.testRenameModule = exports.testMoveSymbolAtPosition = void 0;
14
14
  const assert_1 = __importDefault(require("assert"));
15
15
  const vscode_languageserver_1 = require("vscode-languageserver");
16
16
  const collectionUtils_1 = require("../common/collectionUtils");
17
- const debug_1 = require("../common/debug");
18
17
  const diagnosticRules_1 = require("../common/diagnosticRules");
19
- const pathUtils_1 = require("../common/pathUtils");
20
- const positionUtils_1 = require("../common/positionUtils");
21
- const textRange_1 = require("../common/textRange");
18
+ const testStateUtils_1 = require("./testStateUtils");
22
19
  function testMoveSymbolAtPosition(state, filePath, newFilePath, position, text, replacementText) {
23
20
  const actions = state.program.moveSymbolAtPosition(filePath, newFilePath, position, vscode_languageserver_1.CancellationToken.None);
24
21
  (0, assert_1.default)(actions);
@@ -52,8 +49,8 @@ exports.testRenameModule = testRenameModule;
52
49
  function _verifyFileOperations(state, fileEditActions, ranges, replacementText) {
53
50
  const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
54
51
  _verifyMissingImports();
55
- _verifyEdits(state, fileEditActions, ranges, replacementText);
56
- _applyFileOperations(state, fileEditActions);
52
+ (0, testStateUtils_1.verifyEdits)(state, fileEditActions, ranges, replacementText);
53
+ (0, testStateUtils_1.applyFileOperations)(state, fileEditActions);
57
54
  // Make sure we don't have missing imports after the change.
58
55
  _verifyMissingImports();
59
56
  function _verifyMissingImports() {
@@ -63,86 +60,7 @@ function _verifyFileOperations(state, fileEditActions, ranges, replacementText)
63
60
  }
64
61
  }
65
62
  }
66
- function _verifyEdits(state, fileEditActions, ranges, replacementText) {
67
- for (const edit of fileEditActions.edits) {
68
- (0, assert_1.default)(ranges.some((r) => {
69
- var _a, _b;
70
- const data = (_a = r.marker) === null || _a === void 0 ? void 0 : _a.data;
71
- const expectedText = (_b = replacementText !== null && replacementText !== void 0 ? replacementText : data === null || data === void 0 ? void 0 : data.r) !== null && _b !== void 0 ? _b : 'N/A';
72
- const expectedRange = state.convertPositionRange(r);
73
- return (r.fileName === edit.filePath &&
74
- (0, textRange_1.rangesAreEqual)(expectedRange, edit.range) &&
75
- expectedText.replace(/!n!/g, '\n') === edit.replacementText);
76
- }), `can't find '${replacementText !== null && replacementText !== void 0 ? replacementText : edit.replacementText}'@'${edit.filePath}:(${edit.range.start.line},${edit.range.start.character})'`);
77
- }
78
- }
79
- function _applyFileOperations(state, fileEditActions) {
80
- // Apply changes
81
- // First, apply text changes
82
- const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
83
- for (const [editFileName, editsPerFile] of editsPerFileMap) {
84
- const result = _applyEdits(state, editFileName, editsPerFile);
85
- state.testFS.writeFileSync(editFileName, result.text, 'utf8');
86
- // Update open file content if the file is in opened state.
87
- if (result.version) {
88
- let openedFilePath = editFileName;
89
- const renamed = fileEditActions.fileOperations.find((o) => o.kind === 'rename' && o.oldFilePath === editFileName);
90
- if ((renamed === null || renamed === void 0 ? void 0 : renamed.kind) === 'rename') {
91
- openedFilePath = renamed.newFilePath;
92
- state.program.setFileClosed(renamed.oldFilePath);
93
- }
94
- state.program.setFileOpened(openedFilePath, result.version + 1, [{ text: result.text }]);
95
- }
96
- }
97
- // Second, apply filename change to disk or rename directory.
98
- for (const fileOperation of fileEditActions.fileOperations) {
99
- switch (fileOperation.kind) {
100
- case 'create': {
101
- state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.filePath));
102
- state.testFS.writeFileSync(fileOperation.filePath, '');
103
- break;
104
- }
105
- case 'rename': {
106
- if ((0, pathUtils_1.isFile)(state.testFS, fileOperation.oldFilePath)) {
107
- state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.newFilePath));
108
- state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
109
- // Add new file as tracked file
110
- state.program.addTrackedFile(fileOperation.newFilePath);
111
- }
112
- else {
113
- state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
114
- }
115
- break;
116
- }
117
- case 'delete': {
118
- state.testFS.rimrafSync(fileOperation.filePath);
119
- break;
120
- }
121
- default:
122
- (0, debug_1.assertNever)(fileOperation);
123
- }
124
- }
125
- // And refresh program.
126
- state.importResolver.invalidateCache();
127
- state.program.markAllFilesDirty(true);
128
- }
129
63
  function _verifyMissingImportsDiagnostics(diagnostics) {
130
64
  (0, assert_1.default)(!diagnostics || diagnostics.filter((d) => d.getRule() === diagnosticRules_1.DiagnosticRule.reportMissingImports).length === 0, JSON.stringify(diagnostics.map((d) => d.message)));
131
65
  }
132
- function _applyEdits(state, filePath, edits) {
133
- const sourceFile = state.program.getBoundSourceFile(filePath);
134
- const parseResults = sourceFile.getParseResults();
135
- const editsWithOffset = edits
136
- .map((e) => ({
137
- range: (0, positionUtils_1.convertRangeToTextRange)(e.range, parseResults.tokenizerOutput.lines),
138
- text: e.replacementText,
139
- }))
140
- .sort((e1, e2) => e2.range.start - e1.range.start);
141
- // Apply change in reverse order.
142
- let current = parseResults.text;
143
- for (const change of editsWithOffset) {
144
- current = current.substr(0, change.range.start) + change.text + current.substr(textRange_1.TextRange.getEnd(change.range));
145
- }
146
- return { version: sourceFile.getClientVersion(), text: current };
147
- }
148
66
  //# sourceMappingURL=renameModuleTestUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renameModuleTestUtils.js","sourceRoot":"","sources":["../../../src/tests/renameModuleTestUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renameModuleTestUtils.js","sourceRoot":"","sources":["../../../src/tests/renameModuleTestUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { WorkspaceEdit } from 'vscode-languageserver-protocol';
2
+ import { FileEditAction, FileEditActions } from '../common/editAction';
3
+ import { FileSystem } from '../common/fileSystem';
4
+ import { Range } from './harness/fourslash/fourSlashTypes';
5
+ import { TestState } from './harness/fourslash/testState';
6
+ export declare function verifyEdits(state: TestState, fileEditActions: FileEditActions, ranges: Range[], replacementText: string | undefined): void;
7
+ export declare function applyFileOperations(state: TestState, fileEditActions: FileEditActions): void;
8
+ export declare function convertWorkspaceEditToFileEditActions(fs: FileSystem, edit: WorkspaceEdit): FileEditAction[];
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /*
3
+ * testStateUtils.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Test helpers for TestState
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
+ exports.convertWorkspaceEditToFileEditActions = exports.applyFileOperations = exports.verifyEdits = void 0;
14
+ const assert_1 = __importDefault(require("assert"));
15
+ const collectionUtils_1 = require("../common/collectionUtils");
16
+ const debug_1 = require("../common/debug");
17
+ const pathUtils_1 = require("../common/pathUtils");
18
+ const positionUtils_1 = require("../common/positionUtils");
19
+ const textRange_1 = require("../common/textRange");
20
+ function verifyEdits(state, fileEditActions, ranges, replacementText) {
21
+ for (const edit of fileEditActions.edits) {
22
+ (0, assert_1.default)(ranges.some((r) => {
23
+ var _a, _b;
24
+ const data = (_a = r.marker) === null || _a === void 0 ? void 0 : _a.data;
25
+ const expectedText = (_b = replacementText !== null && replacementText !== void 0 ? replacementText : data === null || data === void 0 ? void 0 : data.r) !== null && _b !== void 0 ? _b : 'N/A';
26
+ const expectedRange = state.convertPositionRange(r);
27
+ return (r.fileName === edit.filePath &&
28
+ (0, textRange_1.rangesAreEqual)(expectedRange, edit.range) &&
29
+ expectedText.replace(/!n!/g, '\n') === edit.replacementText);
30
+ }), `can't find '${replacementText !== null && replacementText !== void 0 ? replacementText : edit.replacementText}'@'${edit.filePath}:(${edit.range.start.line},${edit.range.start.character})'`);
31
+ }
32
+ }
33
+ exports.verifyEdits = verifyEdits;
34
+ function applyFileOperations(state, fileEditActions) {
35
+ // Apply changes
36
+ // First, apply text changes
37
+ const editsPerFileMap = (0, collectionUtils_1.createMapFromItems)(fileEditActions.edits, (e) => e.filePath);
38
+ for (const [editFileName, editsPerFile] of editsPerFileMap) {
39
+ const result = _applyEdits(state, editFileName, editsPerFile);
40
+ state.testFS.writeFileSync(editFileName, result.text, 'utf8');
41
+ // Update open file content if the file is in opened state.
42
+ if (result.version) {
43
+ let openedFilePath = editFileName;
44
+ const renamed = fileEditActions.fileOperations.find((o) => o.kind === 'rename' && o.oldFilePath === editFileName);
45
+ if ((renamed === null || renamed === void 0 ? void 0 : renamed.kind) === 'rename') {
46
+ openedFilePath = renamed.newFilePath;
47
+ state.program.setFileClosed(renamed.oldFilePath);
48
+ }
49
+ state.program.setFileOpened(openedFilePath, result.version + 1, [{ text: result.text }]);
50
+ }
51
+ }
52
+ // Second, apply filename change to disk or rename directory.
53
+ for (const fileOperation of fileEditActions.fileOperations) {
54
+ switch (fileOperation.kind) {
55
+ case 'create': {
56
+ state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.filePath));
57
+ state.testFS.writeFileSync(fileOperation.filePath, '');
58
+ break;
59
+ }
60
+ case 'rename': {
61
+ if ((0, pathUtils_1.isFile)(state.testFS, fileOperation.oldFilePath)) {
62
+ state.testFS.mkdirpSync((0, pathUtils_1.getDirectoryPath)(fileOperation.newFilePath));
63
+ state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
64
+ // Add new file as tracked file
65
+ state.program.addTrackedFile(fileOperation.newFilePath);
66
+ }
67
+ else {
68
+ state.testFS.renameSync(fileOperation.oldFilePath, fileOperation.newFilePath);
69
+ }
70
+ break;
71
+ }
72
+ case 'delete': {
73
+ state.testFS.rimrafSync(fileOperation.filePath);
74
+ break;
75
+ }
76
+ default:
77
+ (0, debug_1.assertNever)(fileOperation);
78
+ }
79
+ }
80
+ // And refresh program.
81
+ state.importResolver.invalidateCache();
82
+ state.program.markAllFilesDirty(true);
83
+ }
84
+ exports.applyFileOperations = applyFileOperations;
85
+ function _applyEdits(state, filePath, edits) {
86
+ const sourceFile = state.program.getBoundSourceFile(filePath);
87
+ const parseResults = sourceFile.getParseResults();
88
+ const editsWithOffset = edits
89
+ .map((e) => ({
90
+ range: (0, positionUtils_1.convertRangeToTextRange)(e.range, parseResults.tokenizerOutput.lines),
91
+ text: e.replacementText,
92
+ }))
93
+ .sort((e1, e2) => e2.range.start - e1.range.start);
94
+ // Apply change in reverse order.
95
+ let current = parseResults.text;
96
+ for (const change of editsWithOffset) {
97
+ current = current.substr(0, change.range.start) + change.text + current.substr(textRange_1.TextRange.getEnd(change.range));
98
+ }
99
+ return { version: sourceFile.getClientVersion(), text: current };
100
+ }
101
+ function convertWorkspaceEditToFileEditActions(fs, edit) {
102
+ const actions = [];
103
+ for (const kv of Object.entries(edit.changes)) {
104
+ const filePath = (0, pathUtils_1.convertUriToPath)(fs, kv[0]);
105
+ kv[1].forEach((e) => actions.push({ filePath, range: e.range, replacementText: e.newText }));
106
+ }
107
+ return actions;
108
+ }
109
+ exports.convertWorkspaceEditToFileEditActions = convertWorkspaceEditToFileEditActions;
110
+ //# sourceMappingURL=testStateUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testStateUtils.js","sourceRoot":"","sources":["../../../src/tests/testStateUtils.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface FileAnalysisResult {
10
10
  warnings: Diagnostic[];
11
11
  infos: Diagnostic[];
12
12
  unusedCodes: Diagnostic[];
13
+ unreachableCodes: Diagnostic[];
13
14
  deprecateds: Diagnostic[];
14
15
  }
15
16
  export interface FileParseResult {
@@ -24,4 +25,4 @@ export declare function buildAnalyzerFileInfo(filePath: string, fileContents: st
24
25
  export declare function bindSampleFile(fileName: string, configOptions?: ConfigOptions): FileAnalysisResult;
25
26
  export declare function typeAnalyzeSampleFiles(fileNames: string[], configOptions?: ConfigOptions): FileAnalysisResult[];
26
27
  export declare function printDiagnostics(fileResults: FileAnalysisResult): void;
27
- export declare function validateResults(results: FileAnalysisResult[], errorCount: number, warningCount?: number, infoCount?: number, unusedCode?: number, deprecated?: number): void;
28
+ export declare function validateResults(results: FileAnalysisResult[], errorCount: number, warningCount?: number, infoCount?: number, unusedCode?: number, unreachableCode?: number, deprecated?: number): void;
@@ -34,6 +34,7 @@ const path = __importStar(require("path"));
34
34
  const binder_1 = require("../analyzer/binder");
35
35
  const importResolver_1 = require("../analyzer/importResolver");
36
36
  const program_1 = require("../analyzer/program");
37
+ const sourceFile_1 = require("../analyzer/sourceFile");
37
38
  const testWalker_1 = require("../analyzer/testWalker");
38
39
  const configOptions_1 = require("../common/configOptions");
39
40
  const debug_1 = require("../common/debug");
@@ -101,7 +102,7 @@ function buildAnalyzerFileInfo(filePath, fileContents, parseResults, configOptio
101
102
  isInPyTypedPackage: false,
102
103
  isTypingExtensionsStubFile: false,
103
104
  isBuiltInStubFile: false,
104
- isIPythonMode: false,
105
+ ipythonMode: sourceFile_1.IPythonMode.None,
105
106
  accessedSymbolSet: new Set(),
106
107
  typingSymbolAliases: new Map(),
107
108
  };
@@ -116,9 +117,6 @@ function bindSampleFile(fileName, configOptions = new configOptions_1.ConfigOpti
116
117
  const fileInfo = buildAnalyzerFileInfo(filePath, parseInfo.fileContents, parseInfo.parseResults, configOptions);
117
118
  const binder = new binder_1.Binder(fileInfo);
118
119
  binder.bindModule(parseInfo.parseResults.parseTree);
119
- // Walk the AST to verify internal consistency.
120
- const testWalker = new testWalker_1.TestWalker();
121
- testWalker.walk(parseInfo.parseResults.parseTree);
122
120
  return {
123
121
  filePath,
124
122
  parseResults: parseInfo.parseResults,
@@ -126,6 +124,7 @@ function bindSampleFile(fileName, configOptions = new configOptions_1.ConfigOpti
126
124
  warnings: fileInfo.diagnosticSink.getWarnings(),
127
125
  infos: fileInfo.diagnosticSink.getInformation(),
128
126
  unusedCodes: fileInfo.diagnosticSink.getUnusedCode(),
127
+ unreachableCodes: fileInfo.diagnosticSink.getUnreachableCode(),
129
128
  deprecateds: fileInfo.diagnosticSink.getDeprecated(),
130
129
  };
131
130
  }
@@ -139,7 +138,7 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
139
138
  const filePaths = fileNames.map((name) => resolveSampleFilePath(name));
140
139
  program.setTrackedFiles(filePaths);
141
140
  // Set a "pre-check callback" so we can evaluate the types of each NameNode
142
- // prior to checking the full document.This will exercise the contextual
141
+ // prior to checking the full document. This will exercise the contextual
143
142
  // evaluation logic.
144
143
  program.setPreCheckCallback((parseResults, evaluator) => {
145
144
  const nameTypeWalker = new testWalker_1.NameTypeWalker(evaluator);
@@ -160,7 +159,8 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
160
159
  warnings: diagnostics.filter((diag) => diag.category === 1 /* Warning */),
161
160
  infos: diagnostics.filter((diag) => diag.category === 2 /* Information */),
162
161
  unusedCodes: diagnostics.filter((diag) => diag.category === 3 /* UnusedCode */),
163
- deprecateds: diagnostics.filter((diag) => diag.category === 4 /* Deprecated */),
162
+ unreachableCodes: diagnostics.filter((diag) => diag.category === 4 /* UnreachableCode */),
163
+ deprecateds: diagnostics.filter((diag) => diag.category === 5 /* Deprecated */),
164
164
  };
165
165
  return analysisResult;
166
166
  }
@@ -173,6 +173,7 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
173
173
  warnings: [],
174
174
  infos: [],
175
175
  unusedCodes: [],
176
+ unreachableCodes: [],
176
177
  deprecateds: [],
177
178
  };
178
179
  return analysisResult;
@@ -195,7 +196,7 @@ function printDiagnostics(fileResults) {
195
196
  }
196
197
  }
197
198
  exports.printDiagnostics = printDiagnostics;
198
- function validateResults(results, errorCount, warningCount = 0, infoCount, unusedCode, deprecated) {
199
+ function validateResults(results, errorCount, warningCount = 0, infoCount, unusedCode, unreachableCode, deprecated) {
199
200
  assert.strictEqual(results.length, 1);
200
201
  assert.strictEqual(results[0].errors.length, errorCount);
201
202
  assert.strictEqual(results[0].warnings.length, warningCount);
@@ -205,6 +206,9 @@ function validateResults(results, errorCount, warningCount = 0, infoCount, unuse
205
206
  if (unusedCode !== undefined) {
206
207
  assert.strictEqual(results[0].unusedCodes.length, unusedCode);
207
208
  }
209
+ if (unreachableCode !== undefined) {
210
+ assert.strictEqual(results[0].unreachableCodes.length, unreachableCode);
211
+ }
208
212
  if (deprecated !== undefined) {
209
213
  assert.strictEqual(results[0].deprecateds.length, deprecated);
210
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ const pythonVersion_1 = require("../common/pythonVersion");
35
35
  const TestUtils = __importStar(require("./testUtils"));
36
36
  test('Unreachable1', () => {
37
37
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['unreachable1.py']);
38
- TestUtils.validateResults(analysisResults, 0, 0, 2, 5);
38
+ TestUtils.validateResults(analysisResults, 0, 0, 2, 1, 4);
39
39
  });
40
40
  test('Builtins1', () => {
41
41
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['builtins1.py']);
@@ -362,7 +362,7 @@ test('TypeNarrowingTuple1', () => {
362
362
  });
363
363
  test('TypeNarrowingTypedDict1', () => {
364
364
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeNarrowingTypedDict1.py']);
365
- TestUtils.validateResults(analysisResults, 3);
365
+ TestUtils.validateResults(analysisResults, 4);
366
366
  });
367
367
  test('TypeNarrowingTypedDict2', () => {
368
368
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeNarrowingTypedDict2.py']);
@@ -738,10 +738,6 @@ test('Operators2', () => {
738
738
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators2.py']);
739
739
  TestUtils.validateResults(analysisResults, 1);
740
740
  });
741
- test('Operators3', () => {
742
- const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators3.py']);
743
- TestUtils.validateResults(analysisResults, 1);
744
- });
745
741
  test('Operators4', () => {
746
742
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['operators4.py']);
747
743
  TestUtils.validateResults(analysisResults, 0);