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

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 (1456) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/analyzer/aliasDeclarationUtils.js +2 -2
  4. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +4 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +12 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  9. package/dist/analyzer/backgroundAnalysisProgram.js +3 -0
  10. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  11. package/dist/analyzer/binder.d.ts +6 -1
  12. package/dist/analyzer/binder.js +142 -32
  13. package/dist/analyzer/binder.js.map +1 -1
  14. package/dist/analyzer/checker.d.ts +4 -1
  15. package/dist/analyzer/checker.js +144 -73
  16. package/dist/analyzer/checker.js.map +1 -1
  17. package/dist/analyzer/codeFlowUtils.js +33 -0
  18. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  19. package/dist/analyzer/constraintSolver.js +6 -3
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +6 -4
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declaration.d.ts +18 -6
  24. package/dist/analyzer/declaration.js +25 -5
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.d.ts +1 -1
  27. package/dist/analyzer/declarationUtils.js +19 -16
  28. package/dist/analyzer/declarationUtils.js.map +1 -1
  29. package/dist/analyzer/importResult.js +7 -0
  30. package/dist/analyzer/importResult.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.js +10 -1
  32. package/dist/analyzer/importStatementUtils.js.map +1 -1
  33. package/dist/analyzer/namedTuples.js +1 -1
  34. package/dist/analyzer/namedTuples.js.map +1 -1
  35. package/dist/analyzer/packageTypeReport.js +10 -1
  36. package/dist/analyzer/packageTypeReport.js.map +1 -1
  37. package/dist/analyzer/packageTypeVerifier.js +6 -6
  38. package/dist/analyzer/parseTreeUtils.d.ts +3 -3
  39. package/dist/analyzer/parseTreeUtils.js +27 -13
  40. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  41. package/dist/analyzer/parseTreeWalker.d.ts +4 -1
  42. package/dist/analyzer/parseTreeWalker.js +19 -1
  43. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  44. package/dist/analyzer/program.d.ts +2 -1
  45. package/dist/analyzer/program.js +27 -23
  46. package/dist/analyzer/program.js.map +1 -1
  47. package/dist/analyzer/properties.js +2 -0
  48. package/dist/analyzer/properties.js.map +1 -1
  49. package/dist/analyzer/protocols.d.ts +0 -1
  50. package/dist/analyzer/protocols.js +4 -64
  51. package/dist/analyzer/protocols.js.map +1 -1
  52. package/dist/analyzer/scope.js +22 -1
  53. package/dist/analyzer/scope.js.map +1 -1
  54. package/dist/analyzer/service.d.ts +20 -8
  55. package/dist/analyzer/service.js +39 -19
  56. package/dist/analyzer/service.js.map +1 -1
  57. package/dist/analyzer/sourceFile.js +1 -1
  58. package/dist/analyzer/sourceFile.js.map +1 -1
  59. package/dist/analyzer/sourceFileInfoUtils.d.ts +2 -0
  60. package/dist/analyzer/sourceFileInfoUtils.js +15 -0
  61. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -0
  62. package/dist/analyzer/symbol.d.ts +3 -1
  63. package/dist/analyzer/symbol.js +39 -1
  64. package/dist/analyzer/symbol.js.map +1 -1
  65. package/dist/analyzer/tracePrinter.js +8 -4
  66. package/dist/analyzer/tracePrinter.js.map +1 -1
  67. package/dist/analyzer/typeDocStringUtils.js +11 -3
  68. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  69. package/dist/analyzer/typeEvaluator.js +610 -208
  70. package/dist/analyzer/typeEvaluator.js.map +1 -1
  71. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  72. package/dist/analyzer/typeEvaluatorTypes.js +65 -1
  73. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  74. package/dist/analyzer/typeEvaluatorWithTracker.js +2 -0
  75. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  76. package/dist/analyzer/typeGuards.d.ts +2 -0
  77. package/dist/analyzer/typeGuards.js +113 -69
  78. package/dist/analyzer/typeGuards.js.map +1 -1
  79. package/dist/analyzer/typePrinter.js +27 -2
  80. package/dist/analyzer/typePrinter.js.map +1 -1
  81. package/dist/analyzer/typeStubWriter.d.ts +4 -1
  82. package/dist/analyzer/typeStubWriter.js +36 -0
  83. package/dist/analyzer/typeStubWriter.js.map +1 -1
  84. package/dist/analyzer/typeUtils.js +129 -33
  85. package/dist/analyzer/typeUtils.js.map +1 -1
  86. package/dist/analyzer/typedDicts.js +2 -1
  87. package/dist/analyzer/typedDicts.js.map +1 -1
  88. package/dist/analyzer/types.d.ts +12 -4
  89. package/dist/analyzer/types.js +215 -6
  90. package/dist/analyzer/types.js.map +1 -1
  91. package/dist/backgroundAnalysisBase.d.ts +1 -1
  92. package/dist/commands/commands.js +9 -0
  93. package/dist/commands/commands.js.map +1 -1
  94. package/dist/common/commandLineOptions.js +8 -1
  95. package/dist/common/commandLineOptions.js.map +1 -1
  96. package/dist/common/core.js +7 -1
  97. package/dist/common/core.js.map +1 -1
  98. package/dist/common/diagnostic.js +9 -1
  99. package/dist/common/diagnostic.js.map +1 -1
  100. package/dist/common/host.js +7 -1
  101. package/dist/common/host.js.map +1 -1
  102. package/dist/common/pathUtils.d.ts +1 -0
  103. package/dist/common/pathUtils.js +34 -1
  104. package/dist/common/pathUtils.js.map +1 -1
  105. package/dist/common/stringUtils.d.ts +1 -0
  106. package/dist/common/stringUtils.js +8 -1
  107. package/dist/common/stringUtils.js.map +1 -1
  108. package/dist/languageServerBase.d.ts +10 -3
  109. package/dist/languageServerBase.js +40 -14
  110. package/dist/languageServerBase.js.map +1 -1
  111. package/dist/languageService/analyzerServiceExecutor.js +3 -0
  112. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  113. package/dist/languageService/autoImporter.js +2 -1
  114. package/dist/languageService/autoImporter.js.map +1 -1
  115. package/dist/languageService/callHierarchyProvider.js +9 -9
  116. package/dist/languageService/completionProvider.d.ts +2 -2
  117. package/dist/languageService/completionProvider.js +22 -18
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/definitionProvider.js +3 -3
  120. package/dist/languageService/documentSymbolCollector.js +1 -1
  121. package/dist/languageService/documentSymbolProvider.js +10 -7
  122. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  123. package/dist/languageService/hoverProvider.js +19 -5
  124. package/dist/languageService/hoverProvider.js.map +1 -1
  125. package/dist/languageService/referencesProvider.js +8 -5
  126. package/dist/languageService/referencesProvider.js.map +1 -1
  127. package/dist/languageService/tooltipUtils.js +1 -1
  128. package/dist/localization/localize.d.ts +27 -0
  129. package/dist/localization/localize.js +16 -0
  130. package/dist/localization/localize.js.map +1 -1
  131. package/dist/localization/package.nls.en-us.json +18 -2
  132. package/dist/parser/parseNodes.d.ts +44 -5
  133. package/dist/parser/parseNodes.js +191 -4
  134. package/dist/parser/parseNodes.js.map +1 -1
  135. package/dist/parser/parser.d.ts +3 -1
  136. package/dist/parser/parser.js +155 -24
  137. package/dist/parser/parser.js.map +1 -1
  138. package/dist/parser/stringTokenUtils.js +8 -1
  139. package/dist/parser/stringTokenUtils.js.map +1 -1
  140. package/dist/parser/tokenizer.js +4 -3
  141. package/dist/parser/tokenizer.js.map +1 -1
  142. package/dist/parser/tokenizerTypes.d.ts +5 -3
  143. package/dist/parser/tokenizerTypes.js +157 -1
  144. package/dist/parser/tokenizerTypes.js.map +1 -1
  145. package/dist/pyright.js +6 -1
  146. package/dist/pyright.js.map +1 -1
  147. package/dist/tests/chainedSourceFiles.test.js +12 -9
  148. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  149. package/dist/tests/checker.test.js +4 -0
  150. package/dist/tests/checker.test.js.map +1 -1
  151. package/dist/tests/config.test.js +14 -13
  152. package/dist/tests/config.test.js.map +1 -1
  153. package/dist/tests/debug.test.js +6 -0
  154. package/dist/tests/debug.test.js.map +1 -1
  155. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +1 -0
  156. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js +53 -0
  157. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -0
  158. package/dist/tests/fourslash/fourslash.d.ts +16 -0
  159. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +1 -0
  160. package/dist/tests/fourslash/hover.class.docString.fourslash.js +24 -0
  161. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -0
  162. package/dist/tests/harness/fourslash/fourSlashParser.js +6 -0
  163. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  164. package/dist/tests/harness/fourslash/fourSlashTypes.js +19 -1
  165. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  166. package/dist/tests/harness/fourslash/testLanguageService.js +9 -1
  167. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  168. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -0
  169. package/dist/tests/harness/fourslash/testState.Consts.js +1 -0
  170. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  171. package/dist/tests/harness/fourslash/testState.d.ts +4 -3
  172. package/dist/tests/harness/fourslash/testState.js +27 -11
  173. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  174. package/dist/tests/harness/vfs/pathValidation.js +25 -1
  175. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  176. package/dist/tests/pathUtils.test.js +17 -0
  177. package/dist/tests/pathUtils.test.js.map +1 -1
  178. package/dist/tests/testUtils.js +1 -1
  179. package/dist/tests/testUtils.js.map +1 -1
  180. package/dist/tests/typeEvaluator1.test.js +9 -1
  181. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  182. package/dist/tests/typeEvaluator2.test.js +9 -1
  183. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  184. package/dist/tests/typeEvaluator3.test.js +4 -0
  185. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  186. package/dist/tests/typeEvaluator5.test.d.ts +1 -0
  187. package/dist/tests/typeEvaluator5.test.js +112 -0
  188. package/dist/tests/typeEvaluator5.test.js.map +1 -0
  189. package/dist/workspaceMap.d.ts +2 -1
  190. package/dist/workspaceMap.js +25 -3
  191. package/dist/workspaceMap.js.map +1 -1
  192. package/package.json +45 -45
  193. package/src/analyzer/aliasDeclarationUtils.ts +0 -169
  194. package/src/analyzer/analysis.ts +0 -92
  195. package/src/analyzer/analyzerFileInfo.ts +0 -56
  196. package/src/analyzer/analyzerNodeInfo.ts +0 -198
  197. package/src/analyzer/backgroundAnalysisProgram.ts +0 -311
  198. package/src/analyzer/binder.ts +0 -4081
  199. package/src/analyzer/checker.ts +0 -5507
  200. package/src/analyzer/circularDependency.ts +0 -52
  201. package/src/analyzer/codeFlowEngine.ts +0 -1548
  202. package/src/analyzer/codeFlowTypes.ts +0 -266
  203. package/src/analyzer/codeFlowUtils.ts +0 -436
  204. package/src/analyzer/commentUtils.ts +0 -174
  205. package/src/analyzer/constraintSolver.ts +0 -926
  206. package/src/analyzer/constructorTransform.ts +0 -317
  207. package/src/analyzer/dataClasses.ts +0 -999
  208. package/src/analyzer/declaration.ts +0 -252
  209. package/src/analyzer/declarationUtils.ts +0 -238
  210. package/src/analyzer/docStringConversion.ts +0 -850
  211. package/src/analyzer/docStringUtils.ts +0 -112
  212. package/src/analyzer/functionTransform.ts +0 -137
  213. package/src/analyzer/importResolver.ts +0 -2308
  214. package/src/analyzer/importResult.ts +0 -98
  215. package/src/analyzer/importStatementUtils.ts +0 -834
  216. package/src/analyzer/namedTuples.ts +0 -422
  217. package/src/analyzer/packageTypeReport.ts +0 -108
  218. package/src/analyzer/packageTypeVerifier.ts +0 -1466
  219. package/src/analyzer/parentDirectoryCache.ts +0 -88
  220. package/src/analyzer/parseTreeCleaner.ts +0 -35
  221. package/src/analyzer/parseTreeUtils.ts +0 -2165
  222. package/src/analyzer/parseTreeWalker.ts +0 -663
  223. package/src/analyzer/patternMatching.ts +0 -1356
  224. package/src/analyzer/program.ts +0 -2778
  225. package/src/analyzer/properties.ts +0 -534
  226. package/src/analyzer/protocols.ts +0 -660
  227. package/src/analyzer/pyTypedUtils.ts +0 -52
  228. package/src/analyzer/pythonPathUtils.ts +0 -201
  229. package/src/analyzer/scope.ts +0 -202
  230. package/src/analyzer/scopeUtils.ts +0 -81
  231. package/src/analyzer/service.ts +0 -1679
  232. package/src/analyzer/sourceFile.ts +0 -1401
  233. package/src/analyzer/sourceMapper.ts +0 -717
  234. package/src/analyzer/staticExpressions.ts +0 -308
  235. package/src/analyzer/symbol.ts +0 -249
  236. package/src/analyzer/symbolNameUtils.ts +0 -50
  237. package/src/analyzer/symbolUtils.ts +0 -49
  238. package/src/analyzer/testWalker.ts +0 -101
  239. package/src/analyzer/tracePrinter.ts +0 -264
  240. package/src/analyzer/typeCache.ts +0 -181
  241. package/src/analyzer/typeDocStringUtils.ts +0 -371
  242. package/src/analyzer/typeEvaluator.ts +0 -23395
  243. package/src/analyzer/typeEvaluatorTypes.ts +0 -452
  244. package/src/analyzer/typeEvaluatorWithTracker.ts +0 -161
  245. package/src/analyzer/typeGuards.ts +0 -1828
  246. package/src/analyzer/typePrinter.ts +0 -807
  247. package/src/analyzer/typeStubWriter.ts +0 -727
  248. package/src/analyzer/typeUtils.ts +0 -3126
  249. package/src/analyzer/typeVarContext.ts +0 -330
  250. package/src/analyzer/typedDicts.ts +0 -950
  251. package/src/analyzer/types.ts +0 -2857
  252. package/src/backgroundAnalysis.ts +0 -49
  253. package/src/backgroundAnalysisBase.ts +0 -606
  254. package/src/backgroundThreadBase.ts +0 -143
  255. package/src/commands/commandController.ts +0 -62
  256. package/src/commands/commandResult.ts +0 -21
  257. package/src/commands/commands.ts +0 -16
  258. package/src/commands/createTypeStub.ts +0 -56
  259. package/src/commands/quickActionCommand.ts +0 -40
  260. package/src/commands/restartServer.ts +0 -20
  261. package/src/common/cancellationUtils.ts +0 -71
  262. package/src/common/chokidarFileWatcherProvider.ts +0 -74
  263. package/src/common/collectionUtils.ts +0 -379
  264. package/src/common/commandLineOptions.ts +0 -132
  265. package/src/common/configOptions.ts +0 -1291
  266. package/src/common/console.ts +0 -201
  267. package/src/common/core.ts +0 -152
  268. package/src/common/crypto.ts +0 -60
  269. package/src/common/debug.ts +0 -144
  270. package/src/common/deferred.ts +0 -78
  271. package/src/common/diagnostic.ts +0 -191
  272. package/src/common/diagnosticRules.ts +0 -80
  273. package/src/common/diagnosticSink.ts +0 -150
  274. package/src/common/editAction.ts +0 -46
  275. package/src/common/extensibility.ts +0 -35
  276. package/src/common/extensions.ts +0 -21
  277. package/src/common/fileBasedCancellationUtils.ts +0 -274
  278. package/src/common/fileSystem.ts +0 -152
  279. package/src/common/fullAccessHost.ts +0 -203
  280. package/src/common/host.ts +0 -49
  281. package/src/common/logTracker.ts +0 -157
  282. package/src/common/lspUtils.ts +0 -18
  283. package/src/common/memUtils.ts +0 -36
  284. package/src/common/pathConsts.ts +0 -16
  285. package/src/common/pathUtils.ts +0 -987
  286. package/src/common/positionUtils.ts +0 -78
  287. package/src/common/progressReporter.ts +0 -53
  288. package/src/common/pythonVersion.ts +0 -74
  289. package/src/common/realFileSystem.ts +0 -433
  290. package/src/common/stringUtils.ts +0 -161
  291. package/src/common/textEditUtils.ts +0 -31
  292. package/src/common/textRange.ts +0 -225
  293. package/src/common/textRangeCollection.ts +0 -122
  294. package/src/common/timing.ts +0 -105
  295. package/src/common/uriParser.ts +0 -26
  296. package/src/common/workspaceEditUtils.ts +0 -100
  297. package/src/languageServerBase.ts +0 -1556
  298. package/src/languageService/analyzerServiceExecutor.ts +0 -144
  299. package/src/languageService/autoImporter.ts +0 -926
  300. package/src/languageService/callHierarchyProvider.ts +0 -476
  301. package/src/languageService/codeActionProvider.ts +0 -85
  302. package/src/languageService/completionProvider.ts +0 -3103
  303. package/src/languageService/definitionProvider.ts +0 -235
  304. package/src/languageService/documentHighlightProvider.ts +0 -61
  305. package/src/languageService/documentSymbolCollector.ts +0 -466
  306. package/src/languageService/documentSymbolProvider.ts +0 -466
  307. package/src/languageService/hoverProvider.ts +0 -499
  308. package/src/languageService/importAdder.ts +0 -437
  309. package/src/languageService/importSorter.ts +0 -196
  310. package/src/languageService/indentationUtils.ts +0 -813
  311. package/src/languageService/quickActions.ts +0 -113
  312. package/src/languageService/referencesProvider.ts +0 -316
  313. package/src/languageService/renameModuleProvider.ts +0 -1400
  314. package/src/languageService/signatureHelpProvider.ts +0 -227
  315. package/src/languageService/tooltipUtils.ts +0 -147
  316. package/src/localization/localize.ts +0 -1272
  317. package/src/localization/package.nls.de.json +0 -3
  318. package/src/localization/package.nls.en-us.json +0 -636
  319. package/src/localization/package.nls.es.json +0 -3
  320. package/src/localization/package.nls.fr.json +0 -3
  321. package/src/localization/package.nls.ja.json +0 -3
  322. package/src/localization/package.nls.ru.json +0 -3
  323. package/src/localization/package.nls.zh-cn.json +0 -3
  324. package/src/localization/package.nls.zh-tw.json +0 -3
  325. package/src/nodeMain.ts +0 -21
  326. package/src/nodeServer.ts +0 -30
  327. package/src/parser/characterStream.ts +0 -145
  328. package/src/parser/characters.ts +0 -285
  329. package/src/parser/parseNodes.ts +0 -2338
  330. package/src/parser/parser.ts +0 -4859
  331. package/src/parser/stringTokenUtils.ts +0 -564
  332. package/src/parser/tokenizer.ts +0 -1379
  333. package/src/parser/tokenizerTypes.ts +0 -420
  334. package/src/parser/unicode.ts +0 -2917
  335. package/src/pyright.ts +0 -824
  336. package/src/pyrightFileSystem.ts +0 -237
  337. package/src/readonlyAugmentedFileSystem.ts +0 -204
  338. package/src/server.ts +0 -298
  339. package/src/tests/chainedSourceFiles.test.ts +0 -183
  340. package/src/tests/checker.test.ts +0 -445
  341. package/src/tests/collectionUtils.test.ts +0 -178
  342. package/src/tests/common.test.ts +0 -117
  343. package/src/tests/config.test.ts +0 -291
  344. package/src/tests/debug.test.ts +0 -120
  345. package/src/tests/deferred.test.ts +0 -54
  346. package/src/tests/diagnosticOverrides.test.ts +0 -104
  347. package/src/tests/docStringConversion.test.ts +0 -823
  348. package/src/tests/docStringUtils.test.ts +0 -57
  349. package/src/tests/documentSymbolCollector.test.ts +0 -735
  350. package/src/tests/filesystem.test.ts +0 -215
  351. package/src/tests/fourSlashParser.test.ts +0 -330
  352. package/src/tests/fourSlashRunner.test.ts +0 -36
  353. package/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts +0 -33
  354. package/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts +0 -47
  355. package/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts +0 -14
  356. package/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts +0 -25
  357. package/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts +0 -36
  358. package/src/tests/fourslash/completions.autoimport.fourslash.ts +0 -29
  359. package/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts +0 -130
  360. package/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts +0 -29
  361. package/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts +0 -48
  362. package/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts +0 -31
  363. package/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts +0 -57
  364. package/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts +0 -117
  365. package/src/tests/fourslash/completions.builtinOverride.fourslash.ts +0 -22
  366. package/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts +0 -55
  367. package/src/tests/fourslash/completions.call.typedDict.fourslash.ts +0 -247
  368. package/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts +0 -163
  369. package/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts +0 -135
  370. package/src/tests/fourslash/completions.classVariable.fourslash.ts +0 -37
  371. package/src/tests/fourslash/completions.comment.fourslash.ts +0 -28
  372. package/src/tests/fourslash/completions.declNames.class.fourslash.ts +0 -35
  373. package/src/tests/fourslash/completions.declNames.exception.fourslash.ts +0 -18
  374. package/src/tests/fourslash/completions.declNames.for.fourslash.ts +0 -30
  375. package/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts +0 -15
  376. package/src/tests/fourslash/completions.declNames.lambda.fourslash.ts +0 -45
  377. package/src/tests/fourslash/completions.declNames.method.fourslash.ts +0 -71
  378. package/src/tests/fourslash/completions.declNames.overload.fourslash.ts +0 -156
  379. package/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts +0 -141
  380. package/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts +0 -76
  381. package/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts +0 -63
  382. package/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts +0 -161
  383. package/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts +0 -151
  384. package/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts +0 -116
  385. package/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts +0 -53
  386. package/src/tests/fourslash/completions.enums.members.fourslash.ts +0 -44
  387. package/src/tests/fourslash/completions.excluded.fourslash.ts +0 -12
  388. package/src/tests/fourslash/completions.fourslash.ts +0 -51
  389. package/src/tests/fourslash/completions.fstring.fourslash.ts +0 -33
  390. package/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts +0 -96
  391. package/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts +0 -30
  392. package/src/tests/fourslash/completions.importDunderNames.fourslash.ts +0 -31
  393. package/src/tests/fourslash/completions.importSubmodule.fourslash.ts +0 -26
  394. package/src/tests/fourslash/completions.importsDuplicates.fourslash.ts +0 -23
  395. package/src/tests/fourslash/completions.inList.fourslash.ts +0 -33
  396. package/src/tests/fourslash/completions.included.fourslash.ts +0 -12
  397. package/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts +0 -57
  398. package/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts +0 -28
  399. package/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts +0 -52
  400. package/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts +0 -53
  401. package/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts +0 -104
  402. package/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts +0 -108
  403. package/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts +0 -72
  404. package/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts +0 -79
  405. package/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts +0 -69
  406. package/src/tests/fourslash/completions.libStub.fourslash.ts +0 -69
  407. package/src/tests/fourslash/completions.literals.fourslash.ts +0 -33
  408. package/src/tests/fourslash/completions.localCode.fourslash.ts +0 -74
  409. package/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts +0 -17
  410. package/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts +0 -57
  411. package/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts +0 -30
  412. package/src/tests/fourslash/completions.overloads.fourslash.ts +0 -40
  413. package/src/tests/fourslash/completions.override.default.fourslash.ts +0 -47
  414. package/src/tests/fourslash/completions.override.default.importStub.ts +0 -50
  415. package/src/tests/fourslash/completions.override.default.imported.fourslash.ts +0 -61
  416. package/src/tests/fourslash/completions.override.default.stub.fourslash.ts +0 -47
  417. package/src/tests/fourslash/completions.override.fourslash.ts +0 -47
  418. package/src/tests/fourslash/completions.override.property.fourslash.ts +0 -31
  419. package/src/tests/fourslash/completions.override.property.stub.fourslash.ts +0 -31
  420. package/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts +0 -64
  421. package/src/tests/fourslash/completions.override.stub.fourslash.ts +0 -47
  422. package/src/tests/fourslash/completions.override2.fourslash.ts +0 -71
  423. package/src/tests/fourslash/completions.parameters.fourslash.ts +0 -23
  424. package/src/tests/fourslash/completions.params.fourslash.ts +0 -24
  425. package/src/tests/fourslash/completions.parentFolder.fourslash.ts +0 -17
  426. package/src/tests/fourslash/completions.parentFolders.fourslash.ts +0 -77
  427. package/src/tests/fourslash/completions.plainText.fourslash.ts +0 -34
  428. package/src/tests/fourslash/completions.private.fourslash.ts +0 -64
  429. package/src/tests/fourslash/completions.property.fourslash.ts +0 -28
  430. package/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts +0 -64
  431. package/src/tests/fourslash/completions.self.fourslash.ts +0 -43
  432. package/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts +0 -71
  433. package/src/tests/fourslash/completions.stringLiteral.fourslash.ts +0 -79
  434. package/src/tests/fourslash/completions.typeAlias.fourslash.ts +0 -29
  435. package/src/tests/fourslash/completions.typeshed.fourslash.ts +0 -9
  436. package/src/tests/fourslash/completions.vardecls.fourslash.ts +0 -40
  437. package/src/tests/fourslash/completions.variableDocStrings.fourslash.ts +0 -69
  438. package/src/tests/fourslash/completions.wildcardimports.fourslash.ts +0 -116
  439. package/src/tests/fourslash/completions.with.fourslash.ts +0 -26
  440. package/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts +0 -69
  441. package/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts +0 -29
  442. package/src/tests/fourslash/findDefinitions.classes.fourslash.ts +0 -101
  443. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts +0 -29
  444. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts +0 -24
  445. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts +0 -29
  446. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts +0 -25
  447. package/src/tests/fourslash/findDefinitions.fields.fourslash.ts +0 -131
  448. package/src/tests/fourslash/findDefinitions.functions.fourslash.ts +0 -87
  449. package/src/tests/fourslash/findDefinitions.methods.fourslash.ts +0 -162
  450. package/src/tests/fourslash/findDefinitions.modules.fourslash.ts +0 -50
  451. package/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts +0 -40
  452. package/src/tests/fourslash/findDefinitions.overloads.fourslash.ts +0 -223
  453. package/src/tests/fourslash/findDefinitions.parameters.fourslash.ts +0 -162
  454. package/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts +0 -26
  455. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts +0 -32
  456. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts +0 -33
  457. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts +0 -28
  458. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts +0 -29
  459. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts +0 -31
  460. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts +0 -36
  461. package/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts +0 -29
  462. package/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts +0 -28
  463. package/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts +0 -28
  464. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts +0 -22
  465. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts +0 -22
  466. package/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts +0 -61
  467. package/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts +0 -71
  468. package/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts +0 -99
  469. package/src/tests/fourslash/findDefinitions.variables.fourslash.ts +0 -88
  470. package/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts +0 -117
  471. package/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts +0 -26
  472. package/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts +0 -72
  473. package/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts +0 -26
  474. package/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts +0 -39
  475. package/src/tests/fourslash/findallreferences.fourslash.ts +0 -34
  476. package/src/tests/fourslash/findallreferences.importalias.fourslash.ts +0 -34
  477. package/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts +0 -52
  478. package/src/tests/fourslash/findallreferences.module.nested.fourslash.ts +0 -67
  479. package/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts +0 -59
  480. package/src/tests/fourslash/findallreferences.modules.fourslash.ts +0 -46
  481. package/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts +0 -95
  482. package/src/tests/fourslash/findallreferences.openFiles.fourslash.ts +0 -37
  483. package/src/tests/fourslash/findallreferences.parameter.fourslash.ts +0 -24
  484. package/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts +0 -33
  485. package/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts +0 -37
  486. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts +0 -40
  487. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts +0 -48
  488. package/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts +0 -35
  489. package/src/tests/fourslash/findallreferences.variable.fourslash.ts +0 -24
  490. package/src/tests/fourslash/fourslash.ts +0 -411
  491. package/src/tests/fourslash/highlightreferences.attributes.fourslash.ts +0 -31
  492. package/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts +0 -64
  493. package/src/tests/fourslash/hover.classNoInit.fourslash.ts +0 -14
  494. package/src/tests/fourslash/hover.docFromScr.stringFormat.fourslash.ts +0 -52
  495. package/src/tests/fourslash/hover.docFromSrc.fourslash.ts +0 -83
  496. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts +0 -26
  497. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts +0 -26
  498. package/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts +0 -23
  499. package/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts +0 -22
  500. package/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts +0 -46
  501. package/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts +0 -29
  502. package/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts +0 -20
  503. package/src/tests/fourslash/hover.docstring.links.fourslash.ts +0 -12
  504. package/src/tests/fourslash/hover.docstring.overloads.fourslash.ts +0 -41
  505. package/src/tests/fourslash/hover.docstring.split.fourslash.ts +0 -24
  506. package/src/tests/fourslash/hover.fourslash.ts +0 -20
  507. package/src/tests/fourslash/hover.import.django.view.fourslash.ts +0 -27
  508. package/src/tests/fourslash/hover.import.fourslash.ts +0 -11
  509. package/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts +0 -63
  510. package/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts +0 -54
  511. package/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts +0 -42
  512. package/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts +0 -46
  513. package/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts +0 -47
  514. package/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts +0 -87
  515. package/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts +0 -91
  516. package/src/tests/fourslash/hover.init.fourslash.ts +0 -39
  517. package/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts +0 -52
  518. package/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts +0 -41
  519. package/src/tests/fourslash/hover.libStub.fourslash.ts +0 -41
  520. package/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts +0 -14
  521. package/src/tests/fourslash/hover.plainText.fourslash.ts +0 -21
  522. package/src/tests/fourslash/hover.typedDict.key.fourslash.ts +0 -51
  523. package/src/tests/fourslash/hover.variable.docString.fourslash.ts +0 -41
  524. package/src/tests/fourslash/hover.wildcardimports.fourslash.ts +0 -80
  525. package/src/tests/fourslash/import.publicSymbols.fourslash.ts +0 -65
  526. package/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts +0 -77
  527. package/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts +0 -65
  528. package/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts +0 -38
  529. package/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts +0 -38
  530. package/src/tests/fourslash/import.wildcard.fourslash.ts +0 -27
  531. package/src/tests/fourslash/importnotresolved.fourslash.ts +0 -13
  532. package/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts +0 -20
  533. package/src/tests/fourslash/missingModuleSource.fourslash.ts +0 -14
  534. package/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts +0 -33
  535. package/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts +0 -48
  536. package/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts +0 -38
  537. package/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts +0 -38
  538. package/src/tests/fourslash/missingTypeStub.fourslash.ts +0 -20
  539. package/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts +0 -36
  540. package/src/tests/fourslash/noerrors.fourslash.ts +0 -9
  541. package/src/tests/fourslash/orderImports1.command.fourslash.ts +0 -20
  542. package/src/tests/fourslash/orderImports2.command.fourslash.ts +0 -24
  543. package/src/tests/fourslash/rename.externallyHidden.fourslash.ts +0 -24
  544. package/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts +0 -24
  545. package/src/tests/fourslash/rename.fourslash.ts +0 -29
  546. package/src/tests/fourslash/rename.library.fourslash.ts +0 -29
  547. package/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts +0 -33
  548. package/src/tests/fourslash/rename.multipleDecl.fourslash.ts +0 -21
  549. package/src/tests/fourslash/rename.sourceAndStub.fourslash.ts +0 -37
  550. package/src/tests/fourslash/rename.string.excluded.fourslash.ts +0 -43
  551. package/src/tests/fourslash/rename.string.fourslash.ts +0 -26
  552. package/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts +0 -63
  553. package/src/tests/fourslash/signature.complicated.fourslash.ts +0 -100
  554. package/src/tests/fourslash/signature.cornercases.fourslash.ts +0 -23
  555. package/src/tests/fourslash/signature.docstrings.fourslash.ts +0 -43
  556. package/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts +0 -50
  557. package/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts +0 -122
  558. package/src/tests/fourslash/signature.overload.fourslash.ts +0 -64
  559. package/src/tests/fourslash/signature.simple.fourslash.ts +0 -104
  560. package/src/tests/harness/fourslash/fourSlashParser.ts +0 -441
  561. package/src/tests/harness/fourslash/fourSlashTypes.ts +0 -134
  562. package/src/tests/harness/fourslash/runner.ts +0 -99
  563. package/src/tests/harness/fourslash/testLanguageService.ts +0 -142
  564. package/src/tests/harness/fourslash/testState.Consts.ts +0 -29
  565. package/src/tests/harness/fourslash/testState.ts +0 -1993
  566. package/src/tests/harness/testAccessHost.ts +0 -23
  567. package/src/tests/harness/testHost.ts +0 -177
  568. package/src/tests/harness/utils.ts +0 -355
  569. package/src/tests/harness/vfs/factory.ts +0 -199
  570. package/src/tests/harness/vfs/filesystem.ts +0 -1893
  571. package/src/tests/harness/vfs/pathValidation.ts +0 -154
  572. package/src/tests/importAdder.test.ts +0 -1361
  573. package/src/tests/importResolver.test.ts +0 -534
  574. package/src/tests/importStatementUtils.test.ts +0 -526
  575. package/src/tests/indentationUtils.ptvs.test.ts +0 -388
  576. package/src/tests/indentationUtils.reindent.test.ts +0 -403
  577. package/src/tests/indentationUtils.test.ts +0 -455
  578. package/src/tests/ipythonMode.test.ts +0 -365
  579. package/src/tests/localizer.test.ts +0 -47
  580. package/src/tests/parseTreeUtils.test.ts +0 -281
  581. package/src/tests/parser.test.ts +0 -99
  582. package/src/tests/pathUtils.test.ts +0 -321
  583. package/src/tests/pyrightFileSystem.test.ts +0 -183
  584. package/src/tests/renameModule.folder.test.ts +0 -261
  585. package/src/tests/renameModule.fromImports.test.ts +0 -952
  586. package/src/tests/renameModule.imports.test.ts +0 -450
  587. package/src/tests/renameModule.misc.test.ts +0 -765
  588. package/src/tests/renameModule.relativePath.test.ts +0 -277
  589. package/src/tests/renameModuleTestUtils.ts +0 -210
  590. package/src/tests/samples/abstractClass1.py +0 -51
  591. package/src/tests/samples/abstractClass2.py +0 -25
  592. package/src/tests/samples/abstractClass3.py +0 -30
  593. package/src/tests/samples/abstractClass4.py +0 -30
  594. package/src/tests/samples/abstractClass5.py +0 -42
  595. package/src/tests/samples/abstractClass6.py +0 -25
  596. package/src/tests/samples/abstractClass7.py +0 -22
  597. package/src/tests/samples/abstractClass8.py +0 -27
  598. package/src/tests/samples/annotated1.py +0 -72
  599. package/src/tests/samples/annotatedVar1.py +0 -22
  600. package/src/tests/samples/annotatedVar2.py +0 -28
  601. package/src/tests/samples/annotatedVar3.py +0 -54
  602. package/src/tests/samples/annotatedVar4.py +0 -24
  603. package/src/tests/samples/annotatedVar5.py +0 -37
  604. package/src/tests/samples/annotatedVar6.py +0 -22
  605. package/src/tests/samples/annotatedVar7.py +0 -13
  606. package/src/tests/samples/annotatedVar8.py +0 -29
  607. package/src/tests/samples/annotations1.py +0 -98
  608. package/src/tests/samples/annotations2.py +0 -33
  609. package/src/tests/samples/annotations3.py +0 -43
  610. package/src/tests/samples/annotations4.py +0 -54
  611. package/src/tests/samples/annotations5.py +0 -9
  612. package/src/tests/samples/annotations6.py +0 -29
  613. package/src/tests/samples/assert1.py +0 -22
  614. package/src/tests/samples/assertType1.py +0 -46
  615. package/src/tests/samples/assignment1.py +0 -58
  616. package/src/tests/samples/assignment10.py +0 -14
  617. package/src/tests/samples/assignment2.py +0 -40
  618. package/src/tests/samples/assignment3.py +0 -46
  619. package/src/tests/samples/assignment4.py +0 -20
  620. package/src/tests/samples/assignment5.py +0 -16
  621. package/src/tests/samples/assignment6.py +0 -25
  622. package/src/tests/samples/assignment7.py +0 -13
  623. package/src/tests/samples/assignment8.py +0 -40
  624. package/src/tests/samples/assignment9.py +0 -25
  625. package/src/tests/samples/assignmentExpr1.py +0 -23
  626. package/src/tests/samples/assignmentExpr2.py +0 -49
  627. package/src/tests/samples/assignmentExpr3.py +0 -27
  628. package/src/tests/samples/assignmentExpr4.py +0 -49
  629. package/src/tests/samples/assignmentExpr5.py +0 -15
  630. package/src/tests/samples/assignmentExpr6.py +0 -10
  631. package/src/tests/samples/assignmentExpr7.py +0 -13
  632. package/src/tests/samples/assignmentExpr8.py +0 -11
  633. package/src/tests/samples/assignmentExpr9.py +0 -28
  634. package/src/tests/samples/async1.py +0 -49
  635. package/src/tests/samples/augmentedAssignment1.py +0 -62
  636. package/src/tests/samples/augmentedAssignment2.py +0 -23
  637. package/src/tests/samples/augmentedAssignment3.py +0 -8
  638. package/src/tests/samples/await1.py +0 -23
  639. package/src/tests/samples/await2.py +0 -25
  640. package/src/tests/samples/badToken1.py +0 -6
  641. package/src/tests/samples/builtins1.py +0 -2
  642. package/src/tests/samples/call1.py +0 -93
  643. package/src/tests/samples/call2.py +0 -118
  644. package/src/tests/samples/call3.py +0 -168
  645. package/src/tests/samples/call4.py +0 -13
  646. package/src/tests/samples/call5.py +0 -95
  647. package/src/tests/samples/call6.py +0 -35
  648. package/src/tests/samples/call7.py +0 -57
  649. package/src/tests/samples/callSite1.py +0 -6
  650. package/src/tests/samples/callSite2.py +0 -12
  651. package/src/tests/samples/callable1.py +0 -53
  652. package/src/tests/samples/callable2.py +0 -58
  653. package/src/tests/samples/callable3.py +0 -28
  654. package/src/tests/samples/callable4.py +0 -32
  655. package/src/tests/samples/callable5.py +0 -40
  656. package/src/tests/samples/callable6.py +0 -83
  657. package/src/tests/samples/callbackProtocol1.py +0 -119
  658. package/src/tests/samples/callbackProtocol2.py +0 -29
  659. package/src/tests/samples/callbackProtocol3.py +0 -23
  660. package/src/tests/samples/callbackProtocol4.py +0 -73
  661. package/src/tests/samples/callbackProtocol5.py +0 -66
  662. package/src/tests/samples/callbackProtocol6.py +0 -66
  663. package/src/tests/samples/callbackProtocol7.py +0 -16
  664. package/src/tests/samples/callbackProtocol8.py +0 -16
  665. package/src/tests/samples/capturedVariable1.py +0 -106
  666. package/src/tests/samples/circular1.py +0 -16
  667. package/src/tests/samples/circular2.py +0 -38
  668. package/src/tests/samples/circularBaseClass.py +0 -17
  669. package/src/tests/samples/classGetItem1.py +0 -30
  670. package/src/tests/samples/classVar1.py +0 -41
  671. package/src/tests/samples/classVar2.py +0 -29
  672. package/src/tests/samples/classVar3.py +0 -46
  673. package/src/tests/samples/classVar4.py +0 -36
  674. package/src/tests/samples/classes1.py +0 -50
  675. package/src/tests/samples/classes3.py +0 -48
  676. package/src/tests/samples/classes4.py +0 -15
  677. package/src/tests/samples/classes5.py +0 -260
  678. package/src/tests/samples/classes6.py +0 -16
  679. package/src/tests/samples/classes7.py +0 -18
  680. package/src/tests/samples/classes8.py +0 -47
  681. package/src/tests/samples/codeFlow1.py +0 -65
  682. package/src/tests/samples/codeFlow2.py +0 -26
  683. package/src/tests/samples/codeFlow3.py +0 -8
  684. package/src/tests/samples/codeFlow4.py +0 -133
  685. package/src/tests/samples/codeFlow5.py +0 -10
  686. package/src/tests/samples/codeFlow6.py +0 -35
  687. package/src/tests/samples/codeFlow7.py +0 -35
  688. package/src/tests/samples/comparison1.py +0 -77
  689. package/src/tests/samples/comparison2.py +0 -37
  690. package/src/tests/samples/complex1.py +0 -17
  691. package/src/tests/samples/constant1.py +0 -40
  692. package/src/tests/samples/constants1.py +0 -64
  693. package/src/tests/samples/constructor1.py +0 -30
  694. package/src/tests/samples/constructor10.py +0 -19
  695. package/src/tests/samples/constructor11.py +0 -32
  696. package/src/tests/samples/constructor12.py +0 -20
  697. package/src/tests/samples/constructor13.py +0 -15
  698. package/src/tests/samples/constructor2.py +0 -180
  699. package/src/tests/samples/constructor3.py +0 -18
  700. package/src/tests/samples/constructor4.py +0 -25
  701. package/src/tests/samples/constructor5.py +0 -25
  702. package/src/tests/samples/constructor6.py +0 -70
  703. package/src/tests/samples/constructor7.py +0 -11
  704. package/src/tests/samples/constructor8.py +0 -99
  705. package/src/tests/samples/constructor9.py +0 -19
  706. package/src/tests/samples/coroutines1.py +0 -60
  707. package/src/tests/samples/coroutines2.py +0 -20
  708. package/src/tests/samples/coroutines3.py +0 -37
  709. package/src/tests/samples/dataclass1.py +0 -44
  710. package/src/tests/samples/dataclass10.py +0 -45
  711. package/src/tests/samples/dataclass11.py +0 -53
  712. package/src/tests/samples/dataclass12.py +0 -32
  713. package/src/tests/samples/dataclass13.py +0 -42
  714. package/src/tests/samples/dataclass14.py +0 -38
  715. package/src/tests/samples/dataclass15.py +0 -58
  716. package/src/tests/samples/dataclass16.py +0 -21
  717. package/src/tests/samples/dataclass17.py +0 -46
  718. package/src/tests/samples/dataclass18.py +0 -57
  719. package/src/tests/samples/dataclass19.py +0 -44
  720. package/src/tests/samples/dataclass2.py +0 -30
  721. package/src/tests/samples/dataclass20.py +0 -71
  722. package/src/tests/samples/dataclass21.py +0 -13
  723. package/src/tests/samples/dataclass3.py +0 -18
  724. package/src/tests/samples/dataclass4.py +0 -64
  725. package/src/tests/samples/dataclass5.py +0 -81
  726. package/src/tests/samples/dataclass6.py +0 -29
  727. package/src/tests/samples/dataclass7.py +0 -93
  728. package/src/tests/samples/dataclass8.py +0 -22
  729. package/src/tests/samples/dataclass9.py +0 -24
  730. package/src/tests/samples/dataclassPostInit1.py +0 -61
  731. package/src/tests/samples/dataclassTransform1.py +0 -71
  732. package/src/tests/samples/dataclassTransform2.py +0 -78
  733. package/src/tests/samples/dataclassTransform3.py +0 -83
  734. package/src/tests/samples/dataclassTransform4.py +0 -87
  735. package/src/tests/samples/decorator1.py +0 -20
  736. package/src/tests/samples/decorator2.py +0 -31
  737. package/src/tests/samples/decorator3.py +0 -27
  738. package/src/tests/samples/decorator4.py +0 -37
  739. package/src/tests/samples/decorator5.py +0 -29
  740. package/src/tests/samples/decorator6.py +0 -34
  741. package/src/tests/samples/defaultInitializer1.py +0 -26
  742. package/src/tests/samples/deprecated1.py +0 -37
  743. package/src/tests/samples/descriptor1.py +0 -134
  744. package/src/tests/samples/descriptor2.py +0 -29
  745. package/src/tests/samples/dictionary1.py +0 -42
  746. package/src/tests/samples/dictionary2.py +0 -14
  747. package/src/tests/samples/dictionary3.py +0 -30
  748. package/src/tests/samples/dictionary4.py +0 -106
  749. package/src/tests/samples/dunderAll1.py +0 -32
  750. package/src/tests/samples/dunderAll2.py +0 -16
  751. package/src/tests/samples/dunderAll3.pyi +0 -16
  752. package/src/tests/samples/duplicateDeclaration1.py +0 -115
  753. package/src/tests/samples/duplicateDeclaration2.py +0 -45
  754. package/src/tests/samples/duplicateImports1.py +0 -13
  755. package/src/tests/samples/ellipsis1.pyi +0 -48
  756. package/src/tests/samples/emptyContainers1.py +0 -89
  757. package/src/tests/samples/enums1.py +0 -52
  758. package/src/tests/samples/enums2.py +0 -15
  759. package/src/tests/samples/enums3.py +0 -24
  760. package/src/tests/samples/enums4.py +0 -23
  761. package/src/tests/samples/enums5.py +0 -16
  762. package/src/tests/samples/enums6.py +0 -33
  763. package/src/tests/samples/enums7.py +0 -54
  764. package/src/tests/samples/enums8.py +0 -14
  765. package/src/tests/samples/expressions1.py +0 -54
  766. package/src/tests/samples/expressions2.py +0 -29
  767. package/src/tests/samples/expressions3.py +0 -26
  768. package/src/tests/samples/expressions4.py +0 -23
  769. package/src/tests/samples/expressions5.py +0 -70
  770. package/src/tests/samples/expressions6.py +0 -14
  771. package/src/tests/samples/expressions7.py +0 -40
  772. package/src/tests/samples/expressions8.py +0 -26
  773. package/src/tests/samples/expressions9.py +0 -14
  774. package/src/tests/samples/final1.py +0 -14
  775. package/src/tests/samples/final2.py +0 -86
  776. package/src/tests/samples/final3.py +0 -179
  777. package/src/tests/samples/final4.pyi +0 -21
  778. package/src/tests/samples/final5.py +0 -18
  779. package/src/tests/samples/forLoop1.py +0 -88
  780. package/src/tests/samples/forLoop2.py +0 -48
  781. package/src/tests/samples/fstring1.py +0 -66
  782. package/src/tests/samples/fstring2.py +0 -12
  783. package/src/tests/samples/fstring3.py +0 -35
  784. package/src/tests/samples/fstring4.py +0 -17
  785. package/src/tests/samples/fstring5.py +0 -17
  786. package/src/tests/samples/fstring6.py +0 -14
  787. package/src/tests/samples/function1.py +0 -12
  788. package/src/tests/samples/function10.py +0 -20
  789. package/src/tests/samples/function11.py +0 -36
  790. package/src/tests/samples/function2.py +0 -7
  791. package/src/tests/samples/function3.py +0 -82
  792. package/src/tests/samples/function4.py +0 -13
  793. package/src/tests/samples/function6.py +0 -24
  794. package/src/tests/samples/function7.py +0 -13
  795. package/src/tests/samples/function8.py +0 -38
  796. package/src/tests/samples/function9.py +0 -75
  797. package/src/tests/samples/functionAnnotation1.py +0 -61
  798. package/src/tests/samples/functionAnnotation2.py +0 -26
  799. package/src/tests/samples/functionAnnotation3.py +0 -37
  800. package/src/tests/samples/functionAnnotation4.py +0 -22
  801. package/src/tests/samples/functionMember1.py +0 -18
  802. package/src/tests/samples/functionMember2.py +0 -45
  803. package/src/tests/samples/generators1.py +0 -122
  804. package/src/tests/samples/generators10.py +0 -18
  805. package/src/tests/samples/generators11.py +0 -27
  806. package/src/tests/samples/generators12.py +0 -25
  807. package/src/tests/samples/generators13.py +0 -65
  808. package/src/tests/samples/generators14.py +0 -19
  809. package/src/tests/samples/generators15.py +0 -26
  810. package/src/tests/samples/generators2.py +0 -31
  811. package/src/tests/samples/generators3.py +0 -42
  812. package/src/tests/samples/generators4.py +0 -33
  813. package/src/tests/samples/generators5.py +0 -24
  814. package/src/tests/samples/generators6.py +0 -14
  815. package/src/tests/samples/generators7.py +0 -18
  816. package/src/tests/samples/generators8.py +0 -12
  817. package/src/tests/samples/generators9.py +0 -19
  818. package/src/tests/samples/generic1.py +0 -41
  819. package/src/tests/samples/genericTypes1.py +0 -12
  820. package/src/tests/samples/genericTypes10.py +0 -38
  821. package/src/tests/samples/genericTypes11.py +0 -26
  822. package/src/tests/samples/genericTypes12.py +0 -14
  823. package/src/tests/samples/genericTypes13.py +0 -27
  824. package/src/tests/samples/genericTypes14.py +0 -22
  825. package/src/tests/samples/genericTypes15.py +0 -13
  826. package/src/tests/samples/genericTypes16.py +0 -15
  827. package/src/tests/samples/genericTypes17.py +0 -24
  828. package/src/tests/samples/genericTypes18.py +0 -135
  829. package/src/tests/samples/genericTypes19.py +0 -32
  830. package/src/tests/samples/genericTypes2.py +0 -40
  831. package/src/tests/samples/genericTypes20.py +0 -44
  832. package/src/tests/samples/genericTypes21.py +0 -29
  833. package/src/tests/samples/genericTypes22.py +0 -23
  834. package/src/tests/samples/genericTypes23.py +0 -27
  835. package/src/tests/samples/genericTypes24.py +0 -32
  836. package/src/tests/samples/genericTypes25.py +0 -37
  837. package/src/tests/samples/genericTypes26.py +0 -31
  838. package/src/tests/samples/genericTypes27.py +0 -14
  839. package/src/tests/samples/genericTypes28.py +0 -51
  840. package/src/tests/samples/genericTypes29.py +0 -24
  841. package/src/tests/samples/genericTypes3.py +0 -13
  842. package/src/tests/samples/genericTypes30.py +0 -32
  843. package/src/tests/samples/genericTypes31.py +0 -30
  844. package/src/tests/samples/genericTypes32.py +0 -25
  845. package/src/tests/samples/genericTypes33.py +0 -46
  846. package/src/tests/samples/genericTypes34.py +0 -54
  847. package/src/tests/samples/genericTypes35.py +0 -45
  848. package/src/tests/samples/genericTypes36.py +0 -35
  849. package/src/tests/samples/genericTypes37.py +0 -26
  850. package/src/tests/samples/genericTypes38.py +0 -15
  851. package/src/tests/samples/genericTypes39.py +0 -82
  852. package/src/tests/samples/genericTypes4.py +0 -37
  853. package/src/tests/samples/genericTypes40.py +0 -38
  854. package/src/tests/samples/genericTypes41.py +0 -16
  855. package/src/tests/samples/genericTypes42.py +0 -32
  856. package/src/tests/samples/genericTypes43.py +0 -24
  857. package/src/tests/samples/genericTypes44.py +0 -33
  858. package/src/tests/samples/genericTypes45.py +0 -43
  859. package/src/tests/samples/genericTypes46.py +0 -66
  860. package/src/tests/samples/genericTypes47.py +0 -39
  861. package/src/tests/samples/genericTypes48.py +0 -18
  862. package/src/tests/samples/genericTypes49.py +0 -41
  863. package/src/tests/samples/genericTypes5.py +0 -42
  864. package/src/tests/samples/genericTypes50.py +0 -62
  865. package/src/tests/samples/genericTypes51.py +0 -55
  866. package/src/tests/samples/genericTypes52.py +0 -34
  867. package/src/tests/samples/genericTypes53.py +0 -42
  868. package/src/tests/samples/genericTypes54.py +0 -31
  869. package/src/tests/samples/genericTypes55.py +0 -61
  870. package/src/tests/samples/genericTypes56.py +0 -19
  871. package/src/tests/samples/genericTypes57.py +0 -30
  872. package/src/tests/samples/genericTypes58.py +0 -52
  873. package/src/tests/samples/genericTypes59.py +0 -71
  874. package/src/tests/samples/genericTypes6.py +0 -49
  875. package/src/tests/samples/genericTypes60.py +0 -27
  876. package/src/tests/samples/genericTypes61.py +0 -34
  877. package/src/tests/samples/genericTypes62.py +0 -26
  878. package/src/tests/samples/genericTypes63.py +0 -32
  879. package/src/tests/samples/genericTypes64.py +0 -16
  880. package/src/tests/samples/genericTypes65.py +0 -15
  881. package/src/tests/samples/genericTypes66.py +0 -30
  882. package/src/tests/samples/genericTypes67.py +0 -57
  883. package/src/tests/samples/genericTypes68.py +0 -14
  884. package/src/tests/samples/genericTypes69.py +0 -45
  885. package/src/tests/samples/genericTypes7.py +0 -24
  886. package/src/tests/samples/genericTypes70.py +0 -31
  887. package/src/tests/samples/genericTypes71.py +0 -72
  888. package/src/tests/samples/genericTypes72.py +0 -24
  889. package/src/tests/samples/genericTypes73.py +0 -14
  890. package/src/tests/samples/genericTypes74.py +0 -23
  891. package/src/tests/samples/genericTypes75.py +0 -45
  892. package/src/tests/samples/genericTypes76.py +0 -107
  893. package/src/tests/samples/genericTypes77.py +0 -26
  894. package/src/tests/samples/genericTypes78.py +0 -23
  895. package/src/tests/samples/genericTypes79.py +0 -37
  896. package/src/tests/samples/genericTypes8.py +0 -26
  897. package/src/tests/samples/genericTypes80.py +0 -10
  898. package/src/tests/samples/genericTypes81.py +0 -32
  899. package/src/tests/samples/genericTypes82.py +0 -19
  900. package/src/tests/samples/genericTypes83.py +0 -28
  901. package/src/tests/samples/genericTypes84.py +0 -11
  902. package/src/tests/samples/genericTypes85.py +0 -20
  903. package/src/tests/samples/genericTypes86.py +0 -15
  904. package/src/tests/samples/genericTypes87.py +0 -21
  905. package/src/tests/samples/genericTypes88.py +0 -25
  906. package/src/tests/samples/genericTypes89.py +0 -17
  907. package/src/tests/samples/genericTypes9.py +0 -109
  908. package/src/tests/samples/genericTypes90.py +0 -12
  909. package/src/tests/samples/genericTypes91.py +0 -20
  910. package/src/tests/samples/import1.py +0 -7
  911. package/src/tests/samples/import10.py +0 -11
  912. package/src/tests/samples/import11.py +0 -11
  913. package/src/tests/samples/import12.py +0 -5
  914. package/src/tests/samples/import13.py +0 -6
  915. package/src/tests/samples/import14.py +0 -10
  916. package/src/tests/samples/import2.py +0 -27
  917. package/src/tests/samples/import3.py +0 -8
  918. package/src/tests/samples/import4.py +0 -15
  919. package/src/tests/samples/import5.py +0 -6
  920. package/src/tests/samples/import6.py +0 -17
  921. package/src/tests/samples/import7.py +0 -14
  922. package/src/tests/samples/import8.py +0 -7
  923. package/src/tests/samples/import9.py +0 -7
  924. package/src/tests/samples/inconsistentConstructor1.py +0 -23
  925. package/src/tests/samples/inconsistentSpaceTab1.py +0 -9
  926. package/src/tests/samples/inconsistentSpaceTab2.py +0 -10
  927. package/src/tests/samples/index1.py +0 -97
  928. package/src/tests/samples/inferredTypes1.py +0 -25
  929. package/src/tests/samples/initVar1.py +0 -23
  930. package/src/tests/samples/initsubclass1.py +0 -46
  931. package/src/tests/samples/initsubclass2.py +0 -16
  932. package/src/tests/samples/isinstance1.py +0 -57
  933. package/src/tests/samples/isinstance10.py +0 -15
  934. package/src/tests/samples/isinstance2.py +0 -28
  935. package/src/tests/samples/isinstance3.py +0 -59
  936. package/src/tests/samples/isinstance4.py +0 -57
  937. package/src/tests/samples/isinstance5.py +0 -8
  938. package/src/tests/samples/isinstance6.py +0 -19
  939. package/src/tests/samples/isinstance7.py +0 -42
  940. package/src/tests/samples/isinstance9.py +0 -26
  941. package/src/tests/samples/kwargsUnpack1.py +0 -116
  942. package/src/tests/samples/lambda1.py +0 -77
  943. package/src/tests/samples/lambda2.py +0 -26
  944. package/src/tests/samples/lambda3.py +0 -34
  945. package/src/tests/samples/lambda4.py +0 -70
  946. package/src/tests/samples/lambda5.py +0 -23
  947. package/src/tests/samples/lambda6.py +0 -15
  948. package/src/tests/samples/lines1.py +0 -14
  949. package/src/tests/samples/list1.py +0 -90
  950. package/src/tests/samples/listComprehension1.py +0 -45
  951. package/src/tests/samples/listComprehension2.py +0 -17
  952. package/src/tests/samples/listComprehension3.py +0 -12
  953. package/src/tests/samples/listComprehension4.py +0 -15
  954. package/src/tests/samples/listComprehension5.py +0 -20
  955. package/src/tests/samples/listComprehension6.py +0 -14
  956. package/src/tests/samples/listComprehension7.py +0 -15
  957. package/src/tests/samples/listComprehension8.py +0 -15
  958. package/src/tests/samples/literalString1.py +0 -43
  959. package/src/tests/samples/literals1.py +0 -48
  960. package/src/tests/samples/literals2.py +0 -30
  961. package/src/tests/samples/literals3.py +0 -40
  962. package/src/tests/samples/literals4.py +0 -10
  963. package/src/tests/samples/literals5.py +0 -28
  964. package/src/tests/samples/literals6.py +0 -90
  965. package/src/tests/samples/literals7.py +0 -38
  966. package/src/tests/samples/loops1.py +0 -45
  967. package/src/tests/samples/loops10.py +0 -11
  968. package/src/tests/samples/loops11.py +0 -22
  969. package/src/tests/samples/loops12.py +0 -18
  970. package/src/tests/samples/loops13.py +0 -13
  971. package/src/tests/samples/loops14.py +0 -22
  972. package/src/tests/samples/loops15.py +0 -22
  973. package/src/tests/samples/loops16.py +0 -322
  974. package/src/tests/samples/loops17.py +0 -9
  975. package/src/tests/samples/loops18.py +0 -23
  976. package/src/tests/samples/loops19.py +0 -14
  977. package/src/tests/samples/loops2.py +0 -25
  978. package/src/tests/samples/loops20.py +0 -41
  979. package/src/tests/samples/loops21.py +0 -18
  980. package/src/tests/samples/loops22.py +0 -21
  981. package/src/tests/samples/loops23.py +0 -16
  982. package/src/tests/samples/loops24.py +0 -12
  983. package/src/tests/samples/loops25.py +0 -45
  984. package/src/tests/samples/loops26.py +0 -12
  985. package/src/tests/samples/loops3.py +0 -11
  986. package/src/tests/samples/loops4.py +0 -17
  987. package/src/tests/samples/loops5.py +0 -14
  988. package/src/tests/samples/loops6.py +0 -25
  989. package/src/tests/samples/loops7.py +0 -14
  990. package/src/tests/samples/loops8.py +0 -17
  991. package/src/tests/samples/loops9.py +0 -25
  992. package/src/tests/samples/match1.py +0 -190
  993. package/src/tests/samples/match10.py +0 -67
  994. package/src/tests/samples/match2.py +0 -340
  995. package/src/tests/samples/match3.py +0 -364
  996. package/src/tests/samples/match4.py +0 -100
  997. package/src/tests/samples/match5.py +0 -70
  998. package/src/tests/samples/match6.py +0 -64
  999. package/src/tests/samples/match7.py +0 -65
  1000. package/src/tests/samples/match8.py +0 -19
  1001. package/src/tests/samples/match9.py +0 -53
  1002. package/src/tests/samples/maxParseDepth1.py +0 -499
  1003. package/src/tests/samples/maxParseDepth2.py +0 -16
  1004. package/src/tests/samples/memberAccess1.py +0 -70
  1005. package/src/tests/samples/memberAccess10.py +0 -65
  1006. package/src/tests/samples/memberAccess11.py +0 -37
  1007. package/src/tests/samples/memberAccess12.py +0 -36
  1008. package/src/tests/samples/memberAccess13.py +0 -17
  1009. package/src/tests/samples/memberAccess14.py +0 -63
  1010. package/src/tests/samples/memberAccess15.py +0 -20
  1011. package/src/tests/samples/memberAccess16.py +0 -12
  1012. package/src/tests/samples/memberAccess17.py +0 -31
  1013. package/src/tests/samples/memberAccess18.py +0 -31
  1014. package/src/tests/samples/memberAccess2.py +0 -45
  1015. package/src/tests/samples/memberAccess3.py +0 -64
  1016. package/src/tests/samples/memberAccess4.py +0 -91
  1017. package/src/tests/samples/memberAccess5.py +0 -26
  1018. package/src/tests/samples/memberAccess6.py +0 -52
  1019. package/src/tests/samples/memberAccess7.py +0 -36
  1020. package/src/tests/samples/memberAccess8.py +0 -75
  1021. package/src/tests/samples/memberAccess9.py +0 -11
  1022. package/src/tests/samples/metaclass1.py +0 -7
  1023. package/src/tests/samples/metaclass2.py +0 -35
  1024. package/src/tests/samples/metaclass3.py +0 -43
  1025. package/src/tests/samples/metaclass4.py +0 -26
  1026. package/src/tests/samples/metaclass5.py +0 -33
  1027. package/src/tests/samples/metaclass6.py +0 -15
  1028. package/src/tests/samples/metaclass7.py +0 -38
  1029. package/src/tests/samples/metaclass8.py +0 -20
  1030. package/src/tests/samples/metaclass9.py +0 -77
  1031. package/src/tests/samples/methodOverride1.py +0 -507
  1032. package/src/tests/samples/methodOverride2.py +0 -74
  1033. package/src/tests/samples/methodOverride3.py +0 -111
  1034. package/src/tests/samples/methodOverride4.py +0 -36
  1035. package/src/tests/samples/missingSuper1.py +0 -73
  1036. package/src/tests/samples/module1.py +0 -13
  1037. package/src/tests/samples/module2.py +0 -7
  1038. package/src/tests/samples/mro1.py +0 -16
  1039. package/src/tests/samples/mro2.py +0 -45
  1040. package/src/tests/samples/mro3.py +0 -30
  1041. package/src/tests/samples/mro4.py +0 -30
  1042. package/src/tests/samples/nameBindings1.py +0 -48
  1043. package/src/tests/samples/nameBindings2.py +0 -9
  1044. package/src/tests/samples/nameBindings3.py +0 -36
  1045. package/src/tests/samples/nameBindings4.py +0 -10
  1046. package/src/tests/samples/nameBindings5.py +0 -53
  1047. package/src/tests/samples/namedTuples1.py +0 -103
  1048. package/src/tests/samples/namedTuples2.py +0 -56
  1049. package/src/tests/samples/namedTuples3.py +0 -15
  1050. package/src/tests/samples/namedTuples4.py +0 -24
  1051. package/src/tests/samples/namedTuples5.py +0 -15
  1052. package/src/tests/samples/namedTuples6.py +0 -31
  1053. package/src/tests/samples/namedTuples7.py +0 -27
  1054. package/src/tests/samples/never1.py +0 -12
  1055. package/src/tests/samples/never2.py +0 -43
  1056. package/src/tests/samples/newType1.py +0 -34
  1057. package/src/tests/samples/newType2.py +0 -25
  1058. package/src/tests/samples/newType3.py +0 -34
  1059. package/src/tests/samples/newType4.py +0 -8
  1060. package/src/tests/samples/none1.py +0 -29
  1061. package/src/tests/samples/none2.py +0 -22
  1062. package/src/tests/samples/noreturn1.py +0 -78
  1063. package/src/tests/samples/noreturn2.py +0 -37
  1064. package/src/tests/samples/noreturn3.py +0 -16
  1065. package/src/tests/samples/noreturn4.py +0 -29
  1066. package/src/tests/samples/operators1.py +0 -101
  1067. package/src/tests/samples/operators2.py +0 -30
  1068. package/src/tests/samples/operators3.py +0 -8
  1069. package/src/tests/samples/operators4.py +0 -22
  1070. package/src/tests/samples/operators5.py +0 -5
  1071. package/src/tests/samples/operators6.py +0 -10
  1072. package/src/tests/samples/operators7.py +0 -24
  1073. package/src/tests/samples/operators8.py +0 -125
  1074. package/src/tests/samples/optional1.py +0 -77
  1075. package/src/tests/samples/optional2.py +0 -23
  1076. package/src/tests/samples/overload1.py +0 -50
  1077. package/src/tests/samples/overload10.py +0 -48
  1078. package/src/tests/samples/overload2.py +0 -37
  1079. package/src/tests/samples/overload3.py +0 -29
  1080. package/src/tests/samples/overload4.py +0 -46
  1081. package/src/tests/samples/overload5.py +0 -333
  1082. package/src/tests/samples/overload6.py +0 -64
  1083. package/src/tests/samples/overload7.py +0 -376
  1084. package/src/tests/samples/overload8.py +0 -89
  1085. package/src/tests/samples/overload9.py +0 -19
  1086. package/src/tests/samples/package1/__init__.py +0 -3
  1087. package/src/tests/samples/package1/psyche/pysche.py +0 -4
  1088. package/src/tests/samples/package1/psyche.py +0 -4
  1089. package/src/tests/samples/package1/sub/__init__.py +0 -5
  1090. package/src/tests/samples/package1/sub.py +0 -4
  1091. package/src/tests/samples/package1/sub.pyi +0 -2
  1092. package/src/tests/samples/paramInference1.py +0 -27
  1093. package/src/tests/samples/paramNames1.py +0 -39
  1094. package/src/tests/samples/paramSpec1.py +0 -64
  1095. package/src/tests/samples/paramSpec10.py +0 -57
  1096. package/src/tests/samples/paramSpec11.py +0 -36
  1097. package/src/tests/samples/paramSpec12.py +0 -88
  1098. package/src/tests/samples/paramSpec13.py +0 -112
  1099. package/src/tests/samples/paramSpec14.py +0 -30
  1100. package/src/tests/samples/paramSpec15.py +0 -28
  1101. package/src/tests/samples/paramSpec16.py +0 -28
  1102. package/src/tests/samples/paramSpec17.py +0 -34
  1103. package/src/tests/samples/paramSpec18.py +0 -43
  1104. package/src/tests/samples/paramSpec19.py +0 -93
  1105. package/src/tests/samples/paramSpec2.py +0 -29
  1106. package/src/tests/samples/paramSpec20.py +0 -87
  1107. package/src/tests/samples/paramSpec21.py +0 -58
  1108. package/src/tests/samples/paramSpec22.py +0 -26
  1109. package/src/tests/samples/paramSpec23.py +0 -21
  1110. package/src/tests/samples/paramSpec24.py +0 -67
  1111. package/src/tests/samples/paramSpec25.py +0 -36
  1112. package/src/tests/samples/paramSpec26.py +0 -25
  1113. package/src/tests/samples/paramSpec27.py +0 -57
  1114. package/src/tests/samples/paramSpec28.py +0 -39
  1115. package/src/tests/samples/paramSpec29.py +0 -37
  1116. package/src/tests/samples/paramSpec3.py +0 -71
  1117. package/src/tests/samples/paramSpec30.py +0 -49
  1118. package/src/tests/samples/paramSpec31.py +0 -16
  1119. package/src/tests/samples/paramSpec32.py +0 -57
  1120. package/src/tests/samples/paramSpec33.py +0 -29
  1121. package/src/tests/samples/paramSpec34.py +0 -29
  1122. package/src/tests/samples/paramSpec35.py +0 -24
  1123. package/src/tests/samples/paramSpec36.py +0 -43
  1124. package/src/tests/samples/paramSpec37.py +0 -25
  1125. package/src/tests/samples/paramSpec4.py +0 -109
  1126. package/src/tests/samples/paramSpec5.py +0 -29
  1127. package/src/tests/samples/paramSpec6.py +0 -17
  1128. package/src/tests/samples/paramSpec7.py +0 -22
  1129. package/src/tests/samples/paramSpec8.py +0 -45
  1130. package/src/tests/samples/paramSpec9.py +0 -57
  1131. package/src/tests/samples/paramType1.py +0 -71
  1132. package/src/tests/samples/parameters1.py +0 -16
  1133. package/src/tests/samples/partial1.py +0 -163
  1134. package/src/tests/samples/partial2.py +0 -31
  1135. package/src/tests/samples/private1.py +0 -55
  1136. package/src/tests/samples/private2.py +0 -11
  1137. package/src/tests/samples/project1/pyrightconfig.json +0 -5
  1138. package/src/tests/samples/project1/sample1.py +0 -0
  1139. package/src/tests/samples/project1/subfolder1/sample2.py +0 -0
  1140. package/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py +0 -0
  1141. package/src/tests/samples/project2/pyrightconfig.json +0 -3
  1142. package/src/tests/samples/project3/pyrightconfig.json +0 -7
  1143. package/src/tests/samples/project4/presentfile.py +0 -0
  1144. package/src/tests/samples/project4/pyrightconfig.json +0 -11
  1145. package/src/tests/samples/project4/subfolder/presentfile2.py +0 -0
  1146. package/src/tests/samples/project4/subfolder/presentfile3.py +0 -0
  1147. package/src/tests/samples/project5/pyrightconfig.json +0 -4
  1148. package/src/tests/samples/project6/app1.py +0 -0
  1149. package/src/tests/samples/project6/app2.py +0 -0
  1150. package/src/tests/samples/project6/projectA/foo/__init__.py +0 -0
  1151. package/src/tests/samples/project6/projectA/foo/bar/__init__.py +0 -0
  1152. package/src/tests/samples/project6/projectB/foo/__init__.py +0 -0
  1153. package/src/tests/samples/project6/projectB/foo/baz/__init__.py +0 -0
  1154. package/src/tests/samples/project_src/src/module1.py +0 -0
  1155. package/src/tests/samples/project_src_is_pkg/src/__init__.py +0 -0
  1156. package/src/tests/samples/project_src_is_pkg/src/module1.py +0 -0
  1157. package/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json +0 -3
  1158. package/src/tests/samples/project_src_with_config_extra_paths/src/module1.py +0 -0
  1159. package/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json +0 -2
  1160. package/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py +0 -0
  1161. package/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py +0 -1
  1162. package/src/tests/samples/project_src_with_extra_paths/src/module1.py +0 -2
  1163. package/src/tests/samples/project_with_pyproject_toml/pyproject.toml +0 -7
  1164. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py +0 -0
  1165. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg +0 -0
  1166. package/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json +0 -2
  1167. package/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py +0 -0
  1168. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py +0 -0
  1169. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py +0 -0
  1170. package/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py +0 -0
  1171. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py +0 -0
  1172. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg +0 -0
  1173. package/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json +0 -3
  1174. package/src/tests/samples/project_with_venv_auto_detect_include/sample1.py +0 -0
  1175. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py +0 -0
  1176. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py +0 -0
  1177. package/src/tests/samples/properties1.py +0 -64
  1178. package/src/tests/samples/properties10.py +0 -19
  1179. package/src/tests/samples/properties11.py +0 -45
  1180. package/src/tests/samples/properties12.py +0 -23
  1181. package/src/tests/samples/properties13.py +0 -15
  1182. package/src/tests/samples/properties2.py +0 -34
  1183. package/src/tests/samples/properties3.py +0 -93
  1184. package/src/tests/samples/properties4.py +0 -17
  1185. package/src/tests/samples/properties5.py +0 -29
  1186. package/src/tests/samples/properties6.py +0 -35
  1187. package/src/tests/samples/properties7.py +0 -30
  1188. package/src/tests/samples/properties8.py +0 -26
  1189. package/src/tests/samples/properties9.py +0 -24
  1190. package/src/tests/samples/protocol1.py +0 -132
  1191. package/src/tests/samples/protocol10.py +0 -36
  1192. package/src/tests/samples/protocol11.py +0 -32
  1193. package/src/tests/samples/protocol12.py +0 -12
  1194. package/src/tests/samples/protocol13.py +0 -26
  1195. package/src/tests/samples/protocol14.py +0 -27
  1196. package/src/tests/samples/protocol15.py +0 -27
  1197. package/src/tests/samples/protocol16.py +0 -22
  1198. package/src/tests/samples/protocol17.py +0 -94
  1199. package/src/tests/samples/protocol18.py +0 -27
  1200. package/src/tests/samples/protocol19.py +0 -39
  1201. package/src/tests/samples/protocol2.py +0 -38
  1202. package/src/tests/samples/protocol20.py +0 -22
  1203. package/src/tests/samples/protocol21.py +0 -26
  1204. package/src/tests/samples/protocol22.py +0 -43
  1205. package/src/tests/samples/protocol23.py +0 -41
  1206. package/src/tests/samples/protocol24.py +0 -74
  1207. package/src/tests/samples/protocol25.py +0 -31
  1208. package/src/tests/samples/protocol26.py +0 -40
  1209. package/src/tests/samples/protocol27.py +0 -76
  1210. package/src/tests/samples/protocol28.py +0 -32
  1211. package/src/tests/samples/protocol29.py +0 -26
  1212. package/src/tests/samples/protocol3.py +0 -110
  1213. package/src/tests/samples/protocol30.py +0 -30
  1214. package/src/tests/samples/protocol31.py +0 -22
  1215. package/src/tests/samples/protocol32.py +0 -67
  1216. package/src/tests/samples/protocol33.py +0 -39
  1217. package/src/tests/samples/protocol34.py +0 -21
  1218. package/src/tests/samples/protocol4.py +0 -22
  1219. package/src/tests/samples/protocol5.py +0 -25
  1220. package/src/tests/samples/protocol6.py +0 -65
  1221. package/src/tests/samples/protocol7.py +0 -24
  1222. package/src/tests/samples/protocol8.py +0 -34
  1223. package/src/tests/samples/protocol9.py +0 -35
  1224. package/src/tests/samples/protocolModule1.py +0 -15
  1225. package/src/tests/samples/protocolModule2.py +0 -83
  1226. package/src/tests/samples/protocolModule3.py +0 -14
  1227. package/src/tests/samples/protocolModule4.py +0 -26
  1228. package/src/tests/samples/pseudoGeneric1.py +0 -20
  1229. package/src/tests/samples/pyrightIgnore1.py +0 -11
  1230. package/src/tests/samples/pyrightIgnore2.py +0 -24
  1231. package/src/tests/samples/python2.py +0 -31
  1232. package/src/tests/samples/recursiveTypeAlias1.py +0 -79
  1233. package/src/tests/samples/recursiveTypeAlias2.py +0 -32
  1234. package/src/tests/samples/recursiveTypeAlias3.py +0 -26
  1235. package/src/tests/samples/recursiveTypeAlias4.py +0 -55
  1236. package/src/tests/samples/recursiveTypeAlias5.pyi +0 -10
  1237. package/src/tests/samples/recursiveTypeAlias6.py +0 -25
  1238. package/src/tests/samples/recursiveTypeAlias7.py +0 -15
  1239. package/src/tests/samples/recursiveTypeAlias8.py +0 -38
  1240. package/src/tests/samples/recursiveTypeAlias9.py +0 -22
  1241. package/src/tests/samples/required1.py +0 -47
  1242. package/src/tests/samples/required2.py +0 -56
  1243. package/src/tests/samples/required3.py +0 -22
  1244. package/src/tests/samples/returnTypes1.py +0 -26
  1245. package/src/tests/samples/revealedType1.py +0 -30
  1246. package/src/tests/samples/sample1.py +0 -6
  1247. package/src/tests/samples/self1.py +0 -93
  1248. package/src/tests/samples/self2.py +0 -195
  1249. package/src/tests/samples/self3.py +0 -9
  1250. package/src/tests/samples/self4.py +0 -18
  1251. package/src/tests/samples/self5.py +0 -26
  1252. package/src/tests/samples/setComprehension1.py +0 -34
  1253. package/src/tests/samples/slots1.py +0 -63
  1254. package/src/tests/samples/slots2.py +0 -38
  1255. package/src/tests/samples/slots3.py +0 -35
  1256. package/src/tests/samples/specialization1.py +0 -78
  1257. package/src/tests/samples/specialization2.py +0 -51
  1258. package/src/tests/samples/staticExpressions1.py +0 -52
  1259. package/src/tests/samples/strings1.py +0 -22
  1260. package/src/tests/samples/subscript1.py +0 -74
  1261. package/src/tests/samples/subscript2.py +0 -55
  1262. package/src/tests/samples/subscript3.py +0 -135
  1263. package/src/tests/samples/suiteExpectedColon1.py +0 -4
  1264. package/src/tests/samples/suiteExpectedColon2.py +0 -2
  1265. package/src/tests/samples/suiteExpectedColon3.py +0 -2
  1266. package/src/tests/samples/super1.py +0 -57
  1267. package/src/tests/samples/super2.py +0 -29
  1268. package/src/tests/samples/super3.py +0 -10
  1269. package/src/tests/samples/super4.py +0 -24
  1270. package/src/tests/samples/super5.py +0 -28
  1271. package/src/tests/samples/super6.py +0 -17
  1272. package/src/tests/samples/super7.py +0 -52
  1273. package/src/tests/samples/super8.py +0 -7
  1274. package/src/tests/samples/super9.py +0 -36
  1275. package/src/tests/samples/test_file1.py +0 -0
  1276. package/src/tests/samples/threePartVersion1.py +0 -33
  1277. package/src/tests/samples/totalOrdering1.py +0 -52
  1278. package/src/tests/samples/tryExcept1.py +0 -39
  1279. package/src/tests/samples/tryExcept10.py +0 -12
  1280. package/src/tests/samples/tryExcept2.py +0 -16
  1281. package/src/tests/samples/tryExcept3.py +0 -12
  1282. package/src/tests/samples/tryExcept4.py +0 -28
  1283. package/src/tests/samples/tryExcept5.py +0 -30
  1284. package/src/tests/samples/tryExcept6.py +0 -27
  1285. package/src/tests/samples/tryExcept7.py +0 -17
  1286. package/src/tests/samples/tryExcept8.py +0 -69
  1287. package/src/tests/samples/tryExcept9.py +0 -42
  1288. package/src/tests/samples/tupleUnpack1.py +0 -63
  1289. package/src/tests/samples/tupleUnpack2.py +0 -56
  1290. package/src/tests/samples/tupleUnpack3.py +0 -28
  1291. package/src/tests/samples/tuples1.py +0 -185
  1292. package/src/tests/samples/tuples10.py +0 -30
  1293. package/src/tests/samples/tuples11.py +0 -21
  1294. package/src/tests/samples/tuples12.py +0 -31
  1295. package/src/tests/samples/tuples13.py +0 -26
  1296. package/src/tests/samples/tuples15.py +0 -16
  1297. package/src/tests/samples/tuples16.py +0 -14
  1298. package/src/tests/samples/tuples2.py +0 -23
  1299. package/src/tests/samples/tuples3.py +0 -15
  1300. package/src/tests/samples/tuples4.py +0 -21
  1301. package/src/tests/samples/tuples5.py +0 -16
  1302. package/src/tests/samples/tuples6.py +0 -56
  1303. package/src/tests/samples/tuples7.py +0 -61
  1304. package/src/tests/samples/tuples8.py +0 -98
  1305. package/src/tests/samples/tuples9.py +0 -17
  1306. package/src/tests/samples/typeAlias1.py +0 -37
  1307. package/src/tests/samples/typeAlias10.py +0 -45
  1308. package/src/tests/samples/typeAlias11.py +0 -37
  1309. package/src/tests/samples/typeAlias12.py +0 -20
  1310. package/src/tests/samples/typeAlias13.py +0 -53
  1311. package/src/tests/samples/typeAlias14.py +0 -29
  1312. package/src/tests/samples/typeAlias15.py +0 -24
  1313. package/src/tests/samples/typeAlias16.py +0 -24
  1314. package/src/tests/samples/typeAlias2.py +0 -26
  1315. package/src/tests/samples/typeAlias3.py +0 -35
  1316. package/src/tests/samples/typeAlias4.py +0 -68
  1317. package/src/tests/samples/typeAlias5.py +0 -56
  1318. package/src/tests/samples/typeAlias6.py +0 -51
  1319. package/src/tests/samples/typeAlias7.py +0 -50
  1320. package/src/tests/samples/typeAlias8.py +0 -24
  1321. package/src/tests/samples/typeAlias9.py +0 -35
  1322. package/src/tests/samples/typeGuard1.py +0 -68
  1323. package/src/tests/samples/typeGuard2.py +0 -58
  1324. package/src/tests/samples/typeGuard3.py +0 -98
  1325. package/src/tests/samples/typeIgnore1.py +0 -10
  1326. package/src/tests/samples/typeIgnore2.py +0 -20
  1327. package/src/tests/samples/typeIgnore3.py +0 -22
  1328. package/src/tests/samples/typeIgnore4.py +0 -10
  1329. package/src/tests/samples/typeIgnore5.py +0 -7
  1330. package/src/tests/samples/typeNarrowing1.py +0 -56
  1331. package/src/tests/samples/typeNarrowing2.py +0 -14
  1332. package/src/tests/samples/typeNarrowing3.py +0 -47
  1333. package/src/tests/samples/typeNarrowing4.py +0 -24
  1334. package/src/tests/samples/typeNarrowing5.py +0 -19
  1335. package/src/tests/samples/typeNarrowing6.py +0 -27
  1336. package/src/tests/samples/typeNarrowing7.py +0 -71
  1337. package/src/tests/samples/typeNarrowingAssert1.py +0 -24
  1338. package/src/tests/samples/typeNarrowingCallable1.py +0 -78
  1339. package/src/tests/samples/typeNarrowingEnum1.py +0 -58
  1340. package/src/tests/samples/typeNarrowingEnum2.py +0 -71
  1341. package/src/tests/samples/typeNarrowingFalsy1.py +0 -50
  1342. package/src/tests/samples/typeNarrowingIn1.py +0 -97
  1343. package/src/tests/samples/typeNarrowingIsNone1.py +0 -56
  1344. package/src/tests/samples/typeNarrowingIsNone2.py +0 -8
  1345. package/src/tests/samples/typeNarrowingIsNoneTuple1.py +0 -42
  1346. package/src/tests/samples/typeNarrowingIsNoneTuple2.py +0 -35
  1347. package/src/tests/samples/typeNarrowingIsinstance1.py +0 -162
  1348. package/src/tests/samples/typeNarrowingIsinstance2.py +0 -14
  1349. package/src/tests/samples/typeNarrowingIsinstance3.py +0 -78
  1350. package/src/tests/samples/typeNarrowingIsinstance4.py +0 -50
  1351. package/src/tests/samples/typeNarrowingIsinstance5.py +0 -39
  1352. package/src/tests/samples/typeNarrowingIsinstance6.py +0 -77
  1353. package/src/tests/samples/typeNarrowingIsinstance7.py +0 -19
  1354. package/src/tests/samples/typeNarrowingIsinstance8.py +0 -19
  1355. package/src/tests/samples/typeNarrowingLiteral1.py +0 -35
  1356. package/src/tests/samples/typeNarrowingLiteral2.py +0 -63
  1357. package/src/tests/samples/typeNarrowingLiteralMember1.py +0 -140
  1358. package/src/tests/samples/typeNarrowingLocalConst1.py +0 -136
  1359. package/src/tests/samples/typeNarrowingNoneMember1.py +0 -102
  1360. package/src/tests/samples/typeNarrowingTuple1.py +0 -23
  1361. package/src/tests/samples/typeNarrowingTupleLength1.py +0 -47
  1362. package/src/tests/samples/typeNarrowingTypeIs1.py +0 -95
  1363. package/src/tests/samples/typeNarrowingTypedDict1.py +0 -99
  1364. package/src/tests/samples/typeNarrowingTypedDict2.py +0 -35
  1365. package/src/tests/samples/typeNarrowingTypedDict3.py +0 -45
  1366. package/src/tests/samples/typePromotions1.py +0 -30
  1367. package/src/tests/samples/typeVar1.py +0 -23
  1368. package/src/tests/samples/typeVar10.py +0 -21
  1369. package/src/tests/samples/typeVar11.py +0 -12
  1370. package/src/tests/samples/typeVar2.py +0 -26
  1371. package/src/tests/samples/typeVar3.py +0 -73
  1372. package/src/tests/samples/typeVar4.py +0 -45
  1373. package/src/tests/samples/typeVar5.py +0 -75
  1374. package/src/tests/samples/typeVar6.py +0 -115
  1375. package/src/tests/samples/typeVar7.py +0 -171
  1376. package/src/tests/samples/typeVar8.py +0 -30
  1377. package/src/tests/samples/typeVar9.py +0 -118
  1378. package/src/tests/samples/typedDict1.py +0 -63
  1379. package/src/tests/samples/typedDict10.py +0 -34
  1380. package/src/tests/samples/typedDict11.py +0 -12
  1381. package/src/tests/samples/typedDict12.py +0 -103
  1382. package/src/tests/samples/typedDict13.py +0 -14
  1383. package/src/tests/samples/typedDict14.py +0 -25
  1384. package/src/tests/samples/typedDict15.py +0 -53
  1385. package/src/tests/samples/typedDict16.py +0 -103
  1386. package/src/tests/samples/typedDict17.py +0 -24
  1387. package/src/tests/samples/typedDict18.py +0 -43
  1388. package/src/tests/samples/typedDict2.py +0 -56
  1389. package/src/tests/samples/typedDict3.py +0 -40
  1390. package/src/tests/samples/typedDict4.py +0 -68
  1391. package/src/tests/samples/typedDict5.py +0 -50
  1392. package/src/tests/samples/typedDict6.py +0 -77
  1393. package/src/tests/samples/typedDict7.py +0 -22
  1394. package/src/tests/samples/typedDict8.py +0 -19
  1395. package/src/tests/samples/typedDict9.py +0 -22
  1396. package/src/tests/samples/unbound1.py +0 -18
  1397. package/src/tests/samples/unbound2.py +0 -12
  1398. package/src/tests/samples/unbound3.py +0 -13
  1399. package/src/tests/samples/unbound4.py +0 -25
  1400. package/src/tests/samples/unicode1.py +0 -39
  1401. package/src/tests/samples/uninitializedVariable1.py +0 -27
  1402. package/src/tests/samples/unions1.py +0 -79
  1403. package/src/tests/samples/unions2.py +0 -15
  1404. package/src/tests/samples/unions3.py +0 -48
  1405. package/src/tests/samples/unions4.py +0 -20
  1406. package/src/tests/samples/unions5.py +0 -43
  1407. package/src/tests/samples/unnecessaryCast1.py +0 -13
  1408. package/src/tests/samples/unnecessaryIsInstance1.py +0 -91
  1409. package/src/tests/samples/unnecessaryIsSubclass1.py +0 -22
  1410. package/src/tests/samples/unpack1.py +0 -56
  1411. package/src/tests/samples/unpack2.py +0 -27
  1412. package/src/tests/samples/unpack3.py +0 -16
  1413. package/src/tests/samples/unpack4.py +0 -15
  1414. package/src/tests/samples/unreachable1.py +0 -112
  1415. package/src/tests/samples/unusedCallResult1.py +0 -67
  1416. package/src/tests/samples/unusedCoroutine1.py +0 -23
  1417. package/src/tests/samples/unusedExpression1.py +0 -34
  1418. package/src/tests/samples/unusedVariable1.py +0 -21
  1419. package/src/tests/samples/variadicTypeVar1.py +0 -51
  1420. package/src/tests/samples/variadicTypeVar10.py +0 -65
  1421. package/src/tests/samples/variadicTypeVar11.py +0 -72
  1422. package/src/tests/samples/variadicTypeVar12.py +0 -26
  1423. package/src/tests/samples/variadicTypeVar13.py +0 -35
  1424. package/src/tests/samples/variadicTypeVar14.py +0 -72
  1425. package/src/tests/samples/variadicTypeVar2.py +0 -63
  1426. package/src/tests/samples/variadicTypeVar3.py +0 -86
  1427. package/src/tests/samples/variadicTypeVar4.py +0 -71
  1428. package/src/tests/samples/variadicTypeVar5.py +0 -131
  1429. package/src/tests/samples/variadicTypeVar6.py +0 -78
  1430. package/src/tests/samples/variadicTypeVar7.py +0 -59
  1431. package/src/tests/samples/variadicTypeVar8.py +0 -116
  1432. package/src/tests/samples/variadicTypeVar9.py +0 -38
  1433. package/src/tests/samples/with1.py +0 -117
  1434. package/src/tests/samples/with2.py +0 -63
  1435. package/src/tests/samples/with3.py +0 -66
  1436. package/src/tests/samples/with4.py +0 -24
  1437. package/src/tests/samples/with5.py +0 -33
  1438. package/src/tests/samples/zipfs/bad.egg +0 -1
  1439. package/src/tests/samples/zipfs/bad.zip +0 -1
  1440. package/src/tests/samples/zipfs/basic.egg +0 -0
  1441. package/src/tests/samples/zipfs/basic.zip +0 -0
  1442. package/src/tests/samples/zipfs/corrupt.egg +0 -0
  1443. package/src/tests/samples/zipfs/corrupt.zip +0 -0
  1444. package/src/tests/sourceFile.test.ts +0 -25
  1445. package/src/tests/stringUtils.test.ts +0 -63
  1446. package/src/tests/symbolNameUtils.test.ts +0 -77
  1447. package/src/tests/testState.test.ts +0 -579
  1448. package/src/tests/testUtils.ts +0 -251
  1449. package/src/tests/tokenizer.test.ts +0 -1534
  1450. package/src/tests/typeEvaluator1.test.ts +0 -1372
  1451. package/src/tests/typeEvaluator2.test.ts +0 -1253
  1452. package/src/tests/typeEvaluator3.test.ts +0 -1279
  1453. package/src/tests/typeEvaluator4.test.ts +0 -1178
  1454. package/src/tests/updateSymbolReference.test.ts +0 -1107
  1455. package/src/tests/zipfs.test.ts +0 -116
  1456. package/src/workspaceMap.ts +0 -76
@@ -1,1893 +0,0 @@
1
- /*
2
- * filesystem.ts
3
- * Copyright (c) Microsoft Corporation.
4
- * Licensed under the MIT license.
5
- *
6
- * virtual file system implementation
7
- */
8
-
9
- /* eslint-disable no-dupe-class-members */
10
- import { Dirent, ReadStream, WriteStream } from 'fs';
11
- import { URI } from 'vscode-uri';
12
-
13
- import { FileSystem, FileWatcher, FileWatcherEventHandler, TmpfileOptions } from '../../../common/fileSystem';
14
- import * as pathUtil from '../../../common/pathUtils';
15
- import { bufferFrom, createIOError } from '../utils';
16
- import { closeIterator, getIterator, Metadata, nextResult, SortedMap } from './../utils';
17
- import { validate, ValidationFlags } from './pathValidation';
18
-
19
- export const MODULE_PATH = pathUtil.normalizeSlashes('/');
20
-
21
- let devCount = 0; // A monotonically increasing count of device ids
22
- let inoCount = 0; // A monotonically increasing count of inodes
23
-
24
- export interface DiffOptions {
25
- includeChangedFileWithSameContent?: boolean;
26
- }
27
-
28
- /**
29
- * Represents a virtual POSIX-like file system.
30
- */
31
- export class TestFileSystem implements FileSystem {
32
- /** Indicates whether the file system is case-sensitive (`false`) or case-insensitive (`true`). */
33
- readonly ignoreCase: boolean;
34
-
35
- /** Gets the comparison function used to compare two paths. */
36
- readonly stringComparer: (a: string, b: string) => number;
37
-
38
- // lazy-initialized state that should be mutable even if the FileSystem is frozen.
39
- private _lazy: {
40
- links?: SortedMap<string, Inode>;
41
- shadows?: Map<number, Inode>;
42
- meta?: Metadata;
43
- } = {};
44
-
45
- private _cwd: string; // current working directory
46
- private _time: number | Date | (() => number | Date);
47
- private _shadowRoot: TestFileSystem | undefined;
48
- private _dirStack: string[] | undefined;
49
- private _tmpfileCounter = 0;
50
-
51
- constructor(ignoreCase: boolean, options: FileSystemOptions = {}) {
52
- const { time = -1, files, meta } = options;
53
- this.ignoreCase = ignoreCase;
54
- this.stringComparer = this.ignoreCase
55
- ? pathUtil.comparePathsCaseInsensitive
56
- : pathUtil.comparePathsCaseSensitive;
57
- this._time = time;
58
-
59
- if (meta) {
60
- for (const key of Object.keys(meta)) {
61
- this.meta.set(key, meta[key]);
62
- }
63
- }
64
-
65
- if (files) {
66
- this._applyFiles(files, /*dirname*/ '');
67
- }
68
-
69
- let cwd = options.cwd;
70
- if ((!cwd || !pathUtil.isDiskPathRoot(cwd)) && this._lazy.links) {
71
- const iterator = getIterator(this._lazy.links.keys());
72
- try {
73
- for (let i = nextResult(iterator); i; i = nextResult(iterator)) {
74
- const name = i.value;
75
- cwd = cwd ? pathUtil.resolvePaths(name, cwd) : name;
76
- break;
77
- }
78
- } finally {
79
- closeIterator(iterator);
80
- }
81
- }
82
-
83
- if (cwd) {
84
- validate(cwd, ValidationFlags.Absolute);
85
- this.mkdirpSync(cwd);
86
- }
87
-
88
- this._cwd = cwd || '';
89
- }
90
-
91
- /**
92
- * Gets metadata for this `FileSystem`.
93
- */
94
- get meta(): Metadata {
95
- if (!this._lazy.meta) {
96
- this._lazy.meta = new Metadata(this._shadowRoot ? this._shadowRoot.meta : undefined);
97
- }
98
- return this._lazy.meta;
99
- }
100
-
101
- /**
102
- * Gets a value indicating whether the file system is read-only.
103
- */
104
- get isReadonly() {
105
- return Object.isFrozen(this);
106
- }
107
-
108
- /**
109
- * Makes the file system read-only.
110
- */
111
- makeReadonly() {
112
- Object.freeze(this);
113
- return this;
114
- }
115
-
116
- /**
117
- * Gets the file system shadowed by this file system.
118
- */
119
- get shadowRoot() {
120
- return this._shadowRoot;
121
- }
122
-
123
- /**
124
- * Snapshots the current file system, effectively shadowing itself. This is useful for
125
- * generating file system patches using `.diff()` from one snapshot to the next. Performs
126
- * no action if this file system is read-only.
127
- */
128
- snapshot() {
129
- if (this.isReadonly) {
130
- return;
131
- }
132
- const fs = new TestFileSystem(this.ignoreCase, { time: this._time });
133
- fs._lazy = this._lazy;
134
- fs._cwd = this._cwd;
135
- fs._time = this._time;
136
- fs._shadowRoot = this._shadowRoot;
137
- fs._dirStack = this._dirStack;
138
- fs.makeReadonly();
139
- this._lazy = {};
140
- this._shadowRoot = fs;
141
- }
142
-
143
- /**
144
- * Gets a shadow copy of this file system. Changes to the shadow copy do not affect the
145
- * original, allowing multiple copies of the same core file system without multiple copies
146
- * of the same data.
147
- */
148
- shadow(ignoreCase = this.ignoreCase) {
149
- if (!this.isReadonly) {
150
- throw new Error('Cannot shadow a mutable file system.');
151
- }
152
- if (ignoreCase && !this.ignoreCase) {
153
- throw new Error('Cannot create a case-insensitive file system from a case-sensitive one.');
154
- }
155
- const fs = new TestFileSystem(ignoreCase, { time: this._time });
156
- fs._shadowRoot = this;
157
- fs._cwd = this._cwd;
158
- return fs;
159
- }
160
-
161
- /**
162
- * Gets or sets the timestamp (in milliseconds) used for file status, returning the previous timestamp.
163
- *
164
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html
165
- */
166
- time(value?: number | Date | (() => number | Date)): number {
167
- if (value !== undefined && this.isReadonly) {
168
- throw createIOError('EPERM');
169
- }
170
- let result = this._time;
171
- if (typeof result === 'function') {
172
- result = result();
173
- }
174
- if (typeof result === 'object') {
175
- result = result.getTime();
176
- }
177
- if (result === -1) {
178
- result = Date.now();
179
- }
180
- if (value !== undefined) {
181
- this._time = value;
182
- }
183
- return result;
184
- }
185
-
186
- /**
187
- * Gets the metadata object for a path.
188
- * @param path
189
- */
190
- filemeta(path: string): Metadata {
191
- const { node } = this._walk(this._resolve(path));
192
- if (!node) {
193
- throw createIOError('ENOENT');
194
- }
195
- return this._filemeta(node);
196
- }
197
-
198
- private _filemeta(node: Inode): Metadata {
199
- if (!node.meta) {
200
- const parentMeta = node.shadowRoot && this._shadowRoot && this._shadowRoot._filemeta(node.shadowRoot);
201
- node.meta = new Metadata(parentMeta);
202
- }
203
- return node.meta;
204
- }
205
-
206
- /**
207
- * Get the pathname of the current working directory.
208
- *
209
- * @link - http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html
210
- */
211
- cwd() {
212
- if (!this._cwd) {
213
- throw new Error('The current working directory has not been set.');
214
- }
215
- const { node } = this._walk(this._cwd);
216
- if (!node) {
217
- throw createIOError('ENOENT');
218
- }
219
- if (!isDirectory(node)) {
220
- throw createIOError('ENOTDIR');
221
- }
222
- return this._cwd;
223
- }
224
-
225
- /**
226
- * Changes the current working directory.
227
- *
228
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/chdir.html
229
- */
230
- chdir(path: string) {
231
- if (this.isReadonly) {
232
- throw createIOError('EPERM');
233
- }
234
- path = this._resolve(path);
235
- const { node } = this._walk(path);
236
- if (!node) {
237
- throw createIOError('ENOENT');
238
- }
239
- if (!isDirectory(node)) {
240
- throw createIOError('ENOTDIR');
241
- }
242
- this._cwd = path;
243
- }
244
-
245
- /**
246
- * Pushes the current directory onto the directory stack and changes the current working directory to the supplied path.
247
- */
248
- pushd(path?: string) {
249
- if (this.isReadonly) {
250
- throw createIOError('EPERM');
251
- }
252
- if (path) {
253
- path = this._resolve(path);
254
- }
255
- if (this._cwd) {
256
- if (!this._dirStack) {
257
- this._dirStack = [];
258
- }
259
- this._dirStack.push(this._cwd);
260
- }
261
- if (path && path !== this._cwd) {
262
- this.chdir(path);
263
- }
264
- }
265
-
266
- /**
267
- * Pops the previous directory from the location stack and changes the current directory to that directory.
268
- */
269
- popd() {
270
- if (this.isReadonly) {
271
- throw createIOError('EPERM');
272
- }
273
- const path = this._dirStack && this._dirStack.pop();
274
- if (path) {
275
- this.chdir(path);
276
- }
277
- }
278
-
279
- /**
280
- * Update the file system with a set of files.
281
- */
282
- apply(files: FileSet) {
283
- this._applyFiles(files, this._cwd);
284
- }
285
-
286
- /**
287
- * Scan file system entries along a path. If `path` is a symbolic link, it is dereferenced.
288
- * @param path The path at which to start the scan.
289
- * @param axis The axis along which to traverse.
290
- * @param traversal The traversal scheme to use.
291
- */
292
- scanSync(path: string, axis: Axis, traversal: Traversal) {
293
- path = this._resolve(path);
294
- const results: string[] = [];
295
- this._scan(path, this._stat(this._walk(path)), axis, traversal, /*noFollow*/ false, results);
296
- return results;
297
- }
298
-
299
- /**
300
- * Scan file system entries along a path.
301
- * @param path The path at which to start the scan.
302
- * @param axis The axis along which to traverse.
303
- * @param traversal The traversal scheme to use.
304
- */
305
- lscanSync(path: string, axis: Axis, traversal: Traversal) {
306
- path = this._resolve(path);
307
- const results: string[] = [];
308
- this._scan(path, this._stat(this._walk(path, /*noFollow*/ true)), axis, traversal, /*noFollow*/ true, results);
309
- return results;
310
- }
311
-
312
- createFileSystemWatcher(paths: string[], listener: FileWatcherEventHandler): FileWatcher {
313
- return {
314
- close: () => {
315
- /* left empty */
316
- },
317
- };
318
- }
319
-
320
- getModulePath(): string {
321
- return MODULE_PATH;
322
- }
323
-
324
- tmpdir(): string {
325
- this.mkdirpSync('/tmp');
326
- return pathUtil.normalizeSlashes('/tmp');
327
- }
328
-
329
- tmpfile(options?: TmpfileOptions): string {
330
- // Use an algorithm similar to tmp's.
331
- const prefix = options?.prefix || 'tmp';
332
- const postfix = options?.prefix ? '-' + options.prefix : '';
333
- const name = `${prefix}-${this._tmpfileCounter++}${postfix}`;
334
- const path = pathUtil.combinePaths(this.tmpdir(), name);
335
- this.writeFileSync(path, '');
336
- return path;
337
- }
338
-
339
- realCasePath(path: string): string {
340
- return path;
341
- }
342
-
343
- isMappedFilePath(filepath: string): boolean {
344
- return false;
345
- }
346
-
347
- // Get original filepath if the given filepath is mapped.
348
- getOriginalFilePath(mappedFilePath: string) {
349
- return mappedFilePath;
350
- }
351
-
352
- // Get mapped filepath if the given filepath is mapped.
353
- getMappedFilePath(originalFilepath: string) {
354
- return originalFilepath;
355
- }
356
-
357
- getUri(path: string): string {
358
- return URI.file(path).toString();
359
- }
360
-
361
- private _scan(path: string, stats: Stats, axis: Axis, traversal: Traversal, noFollow: boolean, results: string[]) {
362
- if (axis === 'ancestors-or-self' || axis === 'self' || axis === 'descendants-or-self') {
363
- if (!traversal.accept || traversal.accept(path, stats)) {
364
- results.push(path);
365
- }
366
- }
367
- if (axis === 'ancestors-or-self' || axis === 'ancestors') {
368
- const dirname = pathUtil.getDirectoryPath(path);
369
- if (dirname !== path) {
370
- try {
371
- const stats = this._stat(this._walk(dirname, noFollow));
372
- if (!traversal.traverse || traversal.traverse(dirname, stats)) {
373
- this._scan(dirname, stats, 'ancestors-or-self', traversal, noFollow, results);
374
- }
375
- } catch {
376
- /*ignored*/
377
- }
378
- }
379
- }
380
- if (axis === 'descendants-or-self' || axis === 'descendants') {
381
- if (stats.isDirectory() && (!traversal.traverse || traversal.traverse(path, stats))) {
382
- for (const file of this.readdirSync(path)) {
383
- try {
384
- const childpath = pathUtil.combinePaths(path, file);
385
- const stats = this._stat(this._walk(childpath, noFollow));
386
- this._scan(childpath, stats, 'descendants-or-self', traversal, noFollow, results);
387
- } catch {
388
- /*ignored*/
389
- }
390
- }
391
- }
392
- }
393
- }
394
-
395
- /**
396
- * Mounts a physical or virtual file system at a location in this virtual file system.
397
- *
398
- * @param source The path in the physical (or other virtual) file system.
399
- * @param target The path in this virtual file system.
400
- * @param resolver An object used to resolve files in `source`.
401
- */
402
- mountSync(source: string, target: string, resolver: FileSystemResolver) {
403
- if (this.isReadonly) {
404
- throw createIOError('EROFS');
405
- }
406
-
407
- source = validate(source, ValidationFlags.Absolute);
408
-
409
- const { parent, links, node: existingNode, basename } = this._walk(this._resolve(target), /*noFollow*/ true);
410
- if (existingNode) {
411
- throw createIOError('EEXIST');
412
- }
413
-
414
- const time = this.time();
415
- const node = this._mknod(parent ? parent.dev : ++devCount, S_IFDIR, /*mode*/ 0o777, time);
416
- node.source = source;
417
- node.resolver = resolver;
418
- this._addLink(parent, links, basename, node, time);
419
- }
420
-
421
- /**
422
- * Recursively remove all files and directories underneath the provided path.
423
- */
424
- rimrafSync(path: string) {
425
- try {
426
- const stats = this.lstatSync(path);
427
- if (stats.isFile() || stats.isSymbolicLink()) {
428
- this.unlinkSync(path);
429
- } else if (stats.isDirectory()) {
430
- for (const file of this.readdirSync(path)) {
431
- this.rimrafSync(pathUtil.combinePaths(path, file));
432
- }
433
- this.rmdirSync(path);
434
- }
435
- } catch (e: any) {
436
- if (e.code === 'ENOENT') {
437
- return;
438
- }
439
- throw e;
440
- }
441
- }
442
-
443
- /**
444
- * Make a directory and all of its parent paths (if they don't exist).
445
- */
446
- mkdirpSync(path: string) {
447
- path = this._resolve(path);
448
- const result = this._walk(path, /*noFollow*/ true, (error, result) => {
449
- if (error.code === 'ENOENT') {
450
- this._mkdir(result);
451
- return 'retry';
452
- }
453
- return 'throw';
454
- });
455
-
456
- if (!result.node) {
457
- this._mkdir(result);
458
- }
459
- }
460
-
461
- getFileListing(): string {
462
- let result = '';
463
- const printLinks = (dirname: string | undefined, links: SortedMap<string, Inode>) => {
464
- const iterator = getIterator(links);
465
- try {
466
- for (let i = nextResult(iterator); i; i = nextResult(iterator)) {
467
- const [name, node] = i.value;
468
- const path = dirname ? pathUtil.combinePaths(dirname, name) : name;
469
- const marker = pathUtil.comparePaths(this._cwd, path, this.ignoreCase) === 0 ? '*' : ' ';
470
- if (result) {
471
- result += '\n';
472
- }
473
- result += marker;
474
- if (isDirectory(node)) {
475
- result += pathUtil.ensureTrailingDirectorySeparator(path);
476
- printLinks(path, this._getLinks(node));
477
- } else if (isFile(node)) {
478
- result += path;
479
- } else if (isSymlink(node)) {
480
- result += `${path} -> ${node.symlink}`;
481
- }
482
- }
483
- } finally {
484
- closeIterator(iterator);
485
- }
486
- };
487
- printLinks(/*dirname*/ undefined, this._getRootLinks());
488
- return result;
489
- }
490
-
491
- /**
492
- * Print diagnostic information about the structure of the file system to the console.
493
- */
494
- debugPrint(): void {
495
- console.log(this.getFileListing());
496
- }
497
-
498
- // POSIX API (aligns with NodeJS "fs" module API)
499
-
500
- /**
501
- * Determines whether a path exists.
502
- */
503
- existsSync(path: string) {
504
- const result = this._walk(this._resolve(path), /*noFollow*/ true, () => 'stop');
505
- return result !== undefined && result.node !== undefined;
506
- }
507
-
508
- /**
509
- * Get file status. If `path` is a symbolic link, it is dereferenced.
510
- *
511
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/stat.html
512
- *
513
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
514
- */
515
- statSync(path: string) {
516
- return this._stat(this._walk(this._resolve(path)));
517
- }
518
-
519
- /**
520
- * Change file access times
521
- *
522
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
523
- */
524
- utimesSync(path: string, atime: Date, mtime: Date) {
525
- if (this.isReadonly) {
526
- throw createIOError('EROFS');
527
- }
528
- if (!isFinite(+atime) || !isFinite(+mtime)) {
529
- throw createIOError('EINVAL');
530
- }
531
-
532
- const entry = this._walk(this._resolve(path));
533
- if (!entry || !entry.node) {
534
- throw createIOError('ENOENT');
535
- }
536
- entry.node.atimeMs = +atime;
537
- entry.node.mtimeMs = +mtime;
538
- entry.node.ctimeMs = this.time();
539
- }
540
-
541
- /**
542
- * Get file status. If `path` is a symbolic link, it is dereferenced.
543
- *
544
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/lstat.html
545
- *
546
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
547
- */
548
- lstatSync(path: string) {
549
- return this._stat(this._walk(this._resolve(path), /*noFollow*/ true));
550
- }
551
-
552
- private _stat(entry: WalkResult) {
553
- const node = entry.node;
554
- if (!node) {
555
- throw createIOError(`ENOENT`, entry.realpath);
556
- }
557
- return new Stats(
558
- node.dev,
559
- node.ino,
560
- node.mode,
561
- node.nlink,
562
- /*rdev*/ 0,
563
- /*size*/ isFile(node) ? this._getSize(node) : isSymlink(node) ? node.symlink.length : 0,
564
- /*blksize*/ 4096,
565
- /*blocks*/ 0,
566
- node.atimeMs,
567
- node.mtimeMs,
568
- node.ctimeMs,
569
- node.birthtimeMs
570
- );
571
- }
572
-
573
- /**
574
- * Read a directory. If `path` is a symbolic link, it is dereferenced.
575
- *
576
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html
577
- *
578
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
579
- */
580
- readdirSync(path: string) {
581
- const { node } = this._walk(this._resolve(path));
582
- if (!node) {
583
- throw createIOError('ENOENT');
584
- }
585
- if (!isDirectory(node)) {
586
- throw createIOError('ENOTDIR');
587
- }
588
- return Array.from(this._getLinks(node).keys());
589
- }
590
-
591
- /**
592
- * Read a directory. If `path` is a symbolic link, it is dereferenced.
593
- *
594
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/readdir.html
595
- *
596
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
597
- */
598
- readdirEntriesSync(path: string): Dirent[] {
599
- const { node } = this._walk(this._resolve(path));
600
- if (!node) {
601
- throw createIOError('ENOENT');
602
- }
603
- if (!isDirectory(node)) {
604
- throw createIOError('ENOTDIR');
605
- }
606
- const entries = Array.from(this._getLinks(node).entries());
607
- return entries.map(([k, v]) => makeDirEnt(k, v));
608
- }
609
-
610
- /**
611
- * Make a directory.
612
- *
613
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html
614
- *
615
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
616
- */
617
- mkdirSync(path: string) {
618
- if (this.isReadonly) {
619
- throw createIOError('EROFS');
620
- }
621
-
622
- this._mkdir(this._walk(this._resolve(path), /*noFollow*/ true));
623
- }
624
-
625
- private _mkdir({ parent, links, node: existingNode, basename }: WalkResult) {
626
- if (existingNode) {
627
- throw createIOError('EEXIST');
628
- }
629
- const time = this.time();
630
- const node = this._mknod(parent ? parent.dev : ++devCount, S_IFDIR, /*mode*/ 0o777, time);
631
- this._addLink(parent, links, basename, node, time);
632
- }
633
-
634
- /**
635
- * Remove a directory.
636
- *
637
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/rmdir.html
638
- *
639
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
640
- */
641
- rmdirSync(path: string) {
642
- if (this.isReadonly) {
643
- throw createIOError('EROFS');
644
- }
645
- path = this._resolve(path);
646
-
647
- const { parent, links, node, basename } = this._walk(path, /*noFollow*/ true);
648
- if (!parent) {
649
- throw createIOError('EPERM');
650
- }
651
- if (!isDirectory(node)) {
652
- throw createIOError('ENOTDIR');
653
- }
654
- if (this._getLinks(node).size !== 0) {
655
- throw createIOError('ENOTEMPTY');
656
- }
657
-
658
- this._removeLink(parent, links, basename, node);
659
- }
660
-
661
- /**
662
- * Link one file to another file (also known as a "hard link").
663
- *
664
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html
665
- *
666
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
667
- */
668
- linkSync(oldpath: string, newpath: string) {
669
- if (this.isReadonly) {
670
- throw createIOError('EROFS');
671
- }
672
-
673
- const { node } = this._walk(this._resolve(oldpath));
674
- if (!node) {
675
- throw createIOError('ENOENT');
676
- }
677
- if (isDirectory(node)) {
678
- throw createIOError('EPERM');
679
- }
680
-
681
- const { parent, links, basename, node: existingNode } = this._walk(this._resolve(newpath), /*noFollow*/ true);
682
- if (!parent) {
683
- throw createIOError('EPERM');
684
- }
685
- if (existingNode) {
686
- throw createIOError('EEXIST');
687
- }
688
-
689
- this._addLink(parent, links, basename, node);
690
- }
691
-
692
- /**
693
- * Remove a directory entry.
694
- *
695
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/unlink.html
696
- *
697
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
698
- */
699
- unlinkSync(path: string) {
700
- if (this.isReadonly) {
701
- throw createIOError('EROFS');
702
- }
703
-
704
- const { parent, links, node, basename } = this._walk(this._resolve(path), /*noFollow*/ true);
705
- if (!parent) {
706
- throw createIOError('EPERM');
707
- }
708
- if (!node) {
709
- throw createIOError('ENOENT');
710
- }
711
- if (isDirectory(node)) {
712
- throw createIOError('EISDIR');
713
- }
714
-
715
- this._removeLink(parent, links, basename, node);
716
- }
717
-
718
- /**
719
- * Rename a file.
720
- *
721
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html
722
- *
723
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
724
- */
725
- renameSync(oldpath: string, newpath: string) {
726
- if (this.isReadonly) {
727
- throw createIOError('EROFS');
728
- }
729
-
730
- const {
731
- parent: oldParent,
732
- links: oldParentLinks,
733
- node,
734
- basename: oldBasename,
735
- } = this._walk(this._resolve(oldpath), /*noFollow*/ true);
736
-
737
- if (!oldParent) {
738
- throw createIOError('EPERM');
739
- }
740
- if (!node) {
741
- throw createIOError('ENOENT');
742
- }
743
-
744
- const {
745
- parent: newParent,
746
- links: newParentLinks,
747
- node: existingNode,
748
- basename: newBasename,
749
- } = this._walk(this._resolve(newpath), /*noFollow*/ true);
750
-
751
- if (!newParent) {
752
- throw createIOError('EPERM');
753
- }
754
-
755
- const time = this.time();
756
- if (existingNode) {
757
- if (isDirectory(node)) {
758
- if (!isDirectory(existingNode)) {
759
- throw createIOError('ENOTDIR');
760
- }
761
- if (this._getLinks(existingNode).size > 0) {
762
- throw createIOError('ENOTEMPTY');
763
- }
764
- } else {
765
- if (isDirectory(existingNode)) {
766
- throw createIOError('EISDIR');
767
- }
768
- }
769
- this._removeLink(newParent, newParentLinks, newBasename, existingNode, time);
770
- }
771
-
772
- this._replaceLink(oldParent, oldParentLinks, oldBasename, newParent, newParentLinks, newBasename, node, time);
773
- }
774
-
775
- /**
776
- * Make a symbolic link.
777
- *
778
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/symlink.html
779
- *
780
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
781
- */
782
- symlinkSync(target: string, linkpath: string) {
783
- if (this.isReadonly) {
784
- throw createIOError('EROFS');
785
- }
786
-
787
- const { parent, links, node: existingNode, basename } = this._walk(this._resolve(linkpath), /*noFollow*/ true);
788
- if (!parent) {
789
- throw createIOError('EPERM');
790
- }
791
- if (existingNode) {
792
- throw createIOError('EEXIST');
793
- }
794
-
795
- const time = this.time();
796
- const node = this._mknod(parent.dev, S_IFLNK, /*mode*/ 0o666, time);
797
- node.symlink = validate(target, ValidationFlags.RelativeOrAbsolute);
798
- this._addLink(parent, links, basename, node, time);
799
- }
800
-
801
- /**
802
- * Resolve a pathname.
803
- *
804
- * @link http://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html
805
- *
806
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
807
- */
808
- realpathSync(path: string) {
809
- const { realpath } = this._walk(this._resolve(path));
810
- return realpath;
811
- }
812
-
813
- /**
814
- * Read from a file.
815
- *
816
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
817
- */
818
- readFileSync(path: string, encoding?: null): Buffer;
819
- /**
820
- * Read from a file.
821
- *
822
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
823
- */
824
- readFileSync(path: string, encoding: BufferEncoding): string;
825
- /**
826
- * Read from a file.
827
- *
828
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
829
- */
830
- readFileSync(path: string, encoding?: BufferEncoding | null): string | Buffer;
831
- readFileSync(path: string, encoding: BufferEncoding | null = null) {
832
- const { node } = this._walk(this._resolve(path));
833
- if (!node) {
834
- throw createIOError('ENOENT');
835
- }
836
- if (isDirectory(node)) {
837
- throw createIOError('EISDIR');
838
- }
839
- if (!isFile(node)) {
840
- throw createIOError('EBADF');
841
- }
842
-
843
- const buffer = this._getBuffer(node).slice();
844
- return encoding ? buffer.toString(encoding) : buffer;
845
- }
846
-
847
- /**
848
- * Write to a file.
849
- *
850
- * NOTE: do not rename this method as it is intended to align with the same named export of the "fs" module.
851
- */
852
- writeFileSync(path: string, data: string | Buffer, encoding: BufferEncoding | null = null) {
853
- if (this.isReadonly) {
854
- throw createIOError('EROFS');
855
- }
856
-
857
- const { parent, links, node: existingNode, basename } = this._walk(this._resolve(path), /*noFollow*/ false);
858
- if (!parent) {
859
- throw createIOError('EPERM');
860
- }
861
-
862
- const time = this.time();
863
- let node = existingNode;
864
- if (!node) {
865
- node = this._mknod(parent.dev, S_IFREG, 0o666, time);
866
- this._addLink(parent, links, basename, node, time);
867
- }
868
-
869
- if (isDirectory(node)) {
870
- throw createIOError('EISDIR');
871
- }
872
- if (!isFile(node)) {
873
- throw createIOError('EBADF');
874
- }
875
- node.buffer = Buffer.isBuffer(data)
876
- ? data.slice()
877
- : bufferFrom('' + data, (encoding as BufferEncoding) || 'utf8');
878
- node.size = node.buffer.byteLength;
879
- node.mtimeMs = time;
880
- node.ctimeMs = time;
881
- }
882
-
883
- readFile(filePath: string): Promise<Buffer> {
884
- return Promise.resolve(this.readFileSync(filePath));
885
- }
886
- readFileText(filePath: string, encoding?: BufferEncoding): Promise<string> {
887
- return Promise.resolve(this.readFileSync(filePath, encoding || 'utf8'));
888
- }
889
-
890
- createReadStream(path: string): ReadStream {
891
- throw new Error('Not implemented in test file system.');
892
- }
893
- createWriteStream(path: string): WriteStream {
894
- throw new Error('Not implemented in test file system.');
895
- }
896
-
897
- copyFileSync(src: string, dst: string): void {
898
- throw new Error('Not implemented in test file system.');
899
- }
900
-
901
- /**
902
- * Generates a `FileSet` patch containing all the entries in this `FileSystem` that are not in `base`.
903
- * @param base The base file system. If not provided, this file system's `shadowRoot` is used (if present).
904
- */
905
- diff(base = this.shadowRoot, options: DiffOptions = {}) {
906
- const differences: FileSet = {};
907
- const hasDifferences = base
908
- ? TestFileSystem._rootDiff(differences, this, base, options)
909
- : TestFileSystem._trackCreatedInodes(differences, this, this._getRootLinks());
910
- return hasDifferences ? differences : undefined;
911
- }
912
-
913
- /**
914
- * Generates a `FileSet` patch containing all the entries in `changed` that are not in `base`.
915
- */
916
- static diff(changed: TestFileSystem, base: TestFileSystem, options: DiffOptions = {}) {
917
- const differences: FileSet = {};
918
- return TestFileSystem._rootDiff(differences, changed, base, options) ? differences : undefined;
919
- }
920
-
921
- isInZipOrEgg(path: string): boolean {
922
- return false;
923
- }
924
-
925
- private static _diffWorker(
926
- container: FileSet,
927
- changed: TestFileSystem,
928
- changedLinks: ReadonlyMap<string, Inode> | undefined,
929
- base: TestFileSystem,
930
- baseLinks: ReadonlyMap<string, Inode> | undefined,
931
- options: DiffOptions
932
- ) {
933
- if (changedLinks && !baseLinks) {
934
- return TestFileSystem._trackCreatedInodes(container, changed, changedLinks);
935
- }
936
- if (baseLinks && !changedLinks) {
937
- return TestFileSystem._trackDeletedInodes(container, baseLinks);
938
- }
939
- if (changedLinks && baseLinks) {
940
- let hasChanges = false;
941
- // track base items missing in changed
942
- baseLinks.forEach((node, basename) => {
943
- if (!changedLinks.has(basename)) {
944
- container[basename] = isDirectory(node) ? new Rmdir() : new Unlink();
945
- hasChanges = true;
946
- }
947
- });
948
- // track changed items missing or differing in base
949
- changedLinks.forEach((changedNode, basename) => {
950
- const baseNode = baseLinks.get(basename);
951
- if (baseNode) {
952
- if (isDirectory(changedNode) && isDirectory(baseNode)) {
953
- return (hasChanges =
954
- TestFileSystem._directoryDiff(
955
- container,
956
- basename,
957
- changed,
958
- changedNode,
959
- base,
960
- baseNode,
961
- options
962
- ) || hasChanges);
963
- }
964
- if (isFile(changedNode) && isFile(baseNode)) {
965
- return (hasChanges =
966
- TestFileSystem._fileDiff(
967
- container,
968
- basename,
969
- changed,
970
- changedNode,
971
- base,
972
- baseNode,
973
- options
974
- ) || hasChanges);
975
- }
976
- if (isSymlink(changedNode) && isSymlink(baseNode)) {
977
- return (hasChanges =
978
- TestFileSystem._symlinkDiff(container, basename, changedNode, baseNode) || hasChanges);
979
- }
980
- }
981
- return (hasChanges =
982
- TestFileSystem._trackCreatedInode(container, basename, changed, changedNode) || hasChanges);
983
- });
984
- return hasChanges;
985
- }
986
- return false;
987
- }
988
-
989
- private static _rootDiff(container: FileSet, changed: TestFileSystem, base: TestFileSystem, options: DiffOptions) {
990
- while (!changed._lazy.links && changed._shadowRoot) {
991
- changed = changed._shadowRoot;
992
- }
993
- while (!base._lazy.links && base._shadowRoot) {
994
- base = base._shadowRoot;
995
- }
996
-
997
- // no difference if the file systems are the same reference
998
- if (changed === base) {
999
- return false;
1000
- }
1001
-
1002
- // no difference if the root links are empty and unshadowed
1003
- if (!changed._lazy.links && !changed._shadowRoot && !base._lazy.links && !base._shadowRoot) {
1004
- return false;
1005
- }
1006
-
1007
- return TestFileSystem._diffWorker(
1008
- container,
1009
- changed,
1010
- changed._getRootLinks(),
1011
- base,
1012
- base._getRootLinks(),
1013
- options
1014
- );
1015
- }
1016
-
1017
- private static _directoryDiff(
1018
- container: FileSet,
1019
- basename: string,
1020
- changed: TestFileSystem,
1021
- changedNode: DirectoryInode,
1022
- base: TestFileSystem,
1023
- baseNode: DirectoryInode,
1024
- options: DiffOptions
1025
- ) {
1026
- while (!changedNode.links && changedNode.shadowRoot) {
1027
- changedNode = changedNode.shadowRoot;
1028
- }
1029
- while (!baseNode.links && baseNode.shadowRoot) {
1030
- baseNode = baseNode.shadowRoot;
1031
- }
1032
-
1033
- // no difference if the nodes are the same reference
1034
- if (changedNode === baseNode) {
1035
- return false;
1036
- }
1037
-
1038
- // no difference if both nodes are non shadowed and have no entries
1039
- if (isEmptyNonShadowedDirectory(changedNode) && isEmptyNonShadowedDirectory(baseNode)) {
1040
- return false;
1041
- }
1042
-
1043
- // no difference if both nodes are unpopulated and point to the same mounted file system
1044
- if (
1045
- !changedNode.links &&
1046
- !baseNode.links &&
1047
- changedNode.resolver &&
1048
- changedNode.source !== undefined &&
1049
- baseNode.resolver === changedNode.resolver &&
1050
- baseNode.source === changedNode.source
1051
- ) {
1052
- return false;
1053
- }
1054
-
1055
- // no difference if both nodes have identical children
1056
- const children: FileSet = {};
1057
- if (
1058
- !TestFileSystem._diffWorker(
1059
- children,
1060
- changed,
1061
- changed._getLinks(changedNode),
1062
- base,
1063
- base._getLinks(baseNode),
1064
- options
1065
- )
1066
- ) {
1067
- return false;
1068
- }
1069
-
1070
- container[basename] = new Directory(children);
1071
- return true;
1072
- }
1073
-
1074
- private static _fileDiff(
1075
- container: FileSet,
1076
- basename: string,
1077
- changed: TestFileSystem,
1078
- changedNode: FileInode,
1079
- base: TestFileSystem,
1080
- baseNode: FileInode,
1081
- options: DiffOptions
1082
- ) {
1083
- while (!changedNode.buffer && changedNode.shadowRoot) {
1084
- changedNode = changedNode.shadowRoot;
1085
- }
1086
- while (!baseNode.buffer && baseNode.shadowRoot) {
1087
- baseNode = baseNode.shadowRoot;
1088
- }
1089
-
1090
- // no difference if the nodes are the same reference
1091
- if (changedNode === baseNode) {
1092
- return false;
1093
- }
1094
-
1095
- // no difference if both nodes are non shadowed and have no entries
1096
- if (isEmptyNonShadowedFile(changedNode) && isEmptyNonShadowedFile(baseNode)) {
1097
- return false;
1098
- }
1099
-
1100
- // no difference if both nodes are unpopulated and point to the same mounted file system
1101
- if (
1102
- !changedNode.buffer &&
1103
- !baseNode.buffer &&
1104
- changedNode.resolver &&
1105
- changedNode.source !== undefined &&
1106
- baseNode.resolver === changedNode.resolver &&
1107
- baseNode.source === changedNode.source
1108
- ) {
1109
- return false;
1110
- }
1111
-
1112
- const changedBuffer = changed._getBuffer(changedNode);
1113
- const baseBuffer = base._getBuffer(baseNode);
1114
-
1115
- // no difference if both buffers are the same reference
1116
- if (changedBuffer === baseBuffer) {
1117
- return false;
1118
- }
1119
-
1120
- // no difference if both buffers are identical
1121
- if (Buffer.compare(changedBuffer, baseBuffer) === 0) {
1122
- if (!options.includeChangedFileWithSameContent) {
1123
- return false;
1124
- }
1125
- container[basename] = new SameFileContentFile(changedBuffer);
1126
- return true;
1127
- }
1128
-
1129
- container[basename] = new File(changedBuffer);
1130
- return true;
1131
- }
1132
-
1133
- private static _symlinkDiff(
1134
- container: FileSet,
1135
- basename: string,
1136
- changedNode: SymlinkInode,
1137
- baseNode: SymlinkInode
1138
- ) {
1139
- // no difference if the nodes are the same reference
1140
- if (changedNode.symlink === baseNode.symlink) {
1141
- return false;
1142
- }
1143
- container[basename] = new Symlink(changedNode.symlink);
1144
- return true;
1145
- }
1146
-
1147
- private static _trackCreatedInode(container: FileSet, basename: string, changed: TestFileSystem, node: Inode) {
1148
- if (isDirectory(node)) {
1149
- const children: FileSet = {};
1150
- TestFileSystem._trackCreatedInodes(children, changed, changed._getLinks(node));
1151
- container[basename] = new Directory(children);
1152
- } else if (isSymlink(node)) {
1153
- container[basename] = new Symlink(node.symlink);
1154
- } else {
1155
- container[basename] = new File(node.buffer || '');
1156
- }
1157
- return true;
1158
- }
1159
-
1160
- private static _trackCreatedInodes(
1161
- container: FileSet,
1162
- changed: TestFileSystem,
1163
- changedLinks: ReadonlyMap<string, Inode>
1164
- ) {
1165
- // no difference if links are empty
1166
- if (!changedLinks.size) {
1167
- return false;
1168
- }
1169
-
1170
- changedLinks.forEach((node, basename) => {
1171
- TestFileSystem._trackCreatedInode(container, basename, changed, node);
1172
- });
1173
- return true;
1174
- }
1175
-
1176
- private static _trackDeletedInodes(container: FileSet, baseLinks: ReadonlyMap<string, Inode>) {
1177
- // no difference if links are empty
1178
- if (!baseLinks.size) {
1179
- return false;
1180
- }
1181
- baseLinks.forEach((node, basename) => {
1182
- container[basename] = isDirectory(node) ? new Rmdir() : new Unlink();
1183
- });
1184
- return true;
1185
- }
1186
-
1187
- private _mknod(dev: number, type: typeof S_IFREG, mode: number, time?: number): FileInode;
1188
- private _mknod(dev: number, type: typeof S_IFDIR, mode: number, time?: number): DirectoryInode;
1189
- private _mknod(dev: number, type: typeof S_IFLNK, mode: number, time?: number): SymlinkInode;
1190
- private _mknod(dev: number, type: number, mode: number, time = this.time()): Inode {
1191
- return {
1192
- dev,
1193
- ino: ++inoCount,
1194
- mode: (mode & ~S_IFMT & ~0o022 & 0o7777) | (type & S_IFMT),
1195
- atimeMs: time,
1196
- mtimeMs: time,
1197
- ctimeMs: time,
1198
- birthtimeMs: time,
1199
- nlink: 0,
1200
- };
1201
- }
1202
-
1203
- private _addLink(
1204
- parent: DirectoryInode | undefined,
1205
- links: SortedMap<string, Inode>,
1206
- name: string,
1207
- node: Inode,
1208
- time = this.time()
1209
- ) {
1210
- links.set(name, node);
1211
- node.nlink++;
1212
- node.ctimeMs = time;
1213
- if (parent) {
1214
- parent.mtimeMs = time;
1215
- }
1216
- if (!parent && !this._cwd) {
1217
- this._cwd = name;
1218
- }
1219
- }
1220
-
1221
- private _removeLink(
1222
- parent: DirectoryInode | undefined,
1223
- links: SortedMap<string, Inode>,
1224
- name: string,
1225
- node: Inode,
1226
- time = this.time()
1227
- ) {
1228
- links.delete(name);
1229
- node.nlink--;
1230
- node.ctimeMs = time;
1231
- if (parent) {
1232
- parent.mtimeMs = time;
1233
- }
1234
- }
1235
-
1236
- private _replaceLink(
1237
- oldParent: DirectoryInode,
1238
- oldLinks: SortedMap<string, Inode>,
1239
- oldName: string,
1240
- newParent: DirectoryInode,
1241
- newLinks: SortedMap<string, Inode>,
1242
- newName: string,
1243
- node: Inode,
1244
- time: number
1245
- ) {
1246
- if (oldParent !== newParent) {
1247
- this._removeLink(oldParent, oldLinks, oldName, node, time);
1248
- this._addLink(newParent, newLinks, newName, node, time);
1249
- } else {
1250
- oldLinks.delete(oldName);
1251
- oldLinks.set(newName, node);
1252
- oldParent.mtimeMs = time;
1253
- newParent.mtimeMs = time;
1254
- }
1255
- }
1256
-
1257
- private _getRootLinks() {
1258
- if (!this._lazy.links) {
1259
- const links = new SortedMap<string, Inode>(this.stringComparer);
1260
- if (this._shadowRoot) {
1261
- this._copyShadowLinks(this._shadowRoot._getRootLinks(), links);
1262
- }
1263
- this._lazy.links = links;
1264
- }
1265
- return this._lazy.links;
1266
- }
1267
-
1268
- private _getLinks(node: DirectoryInode) {
1269
- if (!node.links) {
1270
- const links = new SortedMap<string, Inode>(this.stringComparer);
1271
- const { source, resolver } = node;
1272
- if (source && resolver) {
1273
- node.source = undefined;
1274
- node.resolver = undefined;
1275
- for (const name of resolver.readdirSync(source)) {
1276
- const path = pathUtil.combinePaths(source, name);
1277
- const stats = resolver.statSync(path);
1278
- switch (stats.mode & S_IFMT) {
1279
- case S_IFDIR: {
1280
- const dir = this._mknod(node.dev, S_IFDIR, 0o777);
1281
- dir.source = pathUtil.combinePaths(source, name);
1282
- dir.resolver = resolver;
1283
- this._addLink(node, links, name, dir);
1284
- break;
1285
- }
1286
- case S_IFREG: {
1287
- const file = this._mknod(node.dev, S_IFREG, 0o666);
1288
- file.source = pathUtil.combinePaths(source, name);
1289
- file.resolver = resolver;
1290
- file.size = stats.size;
1291
- this._addLink(node, links, name, file);
1292
- break;
1293
- }
1294
- }
1295
- }
1296
- } else if (this._shadowRoot && node.shadowRoot) {
1297
- this._copyShadowLinks(this._shadowRoot._getLinks(node.shadowRoot), links);
1298
- }
1299
- node.links = links;
1300
- }
1301
- return node.links;
1302
- }
1303
-
1304
- private _getShadow(root: DirectoryInode): DirectoryInode;
1305
- private _getShadow(root: Inode): Inode;
1306
- private _getShadow(root: Inode) {
1307
- const shadows = this._lazy.shadows || (this._lazy.shadows = new Map<number, Inode>());
1308
-
1309
- let shadow = shadows.get(root.ino);
1310
- if (!shadow) {
1311
- shadow = {
1312
- dev: root.dev,
1313
- ino: root.ino,
1314
- mode: root.mode,
1315
- atimeMs: root.atimeMs,
1316
- mtimeMs: root.mtimeMs,
1317
- ctimeMs: root.ctimeMs,
1318
- birthtimeMs: root.birthtimeMs,
1319
- nlink: root.nlink,
1320
- shadowRoot: root,
1321
- };
1322
-
1323
- if (isSymlink(root)) {
1324
- (shadow as SymlinkInode).symlink = root.symlink;
1325
- }
1326
- shadows.set(shadow.ino, shadow);
1327
- }
1328
-
1329
- return shadow;
1330
- }
1331
-
1332
- private _copyShadowLinks(source: ReadonlyMap<string, Inode>, target: SortedMap<string, Inode>) {
1333
- const iterator = getIterator(source);
1334
- try {
1335
- for (let i = nextResult(iterator); i; i = nextResult(iterator)) {
1336
- const [name, root] = i.value;
1337
- target.set(name, this._getShadow(root));
1338
- }
1339
- } finally {
1340
- closeIterator(iterator);
1341
- }
1342
- }
1343
-
1344
- private _getSize(node: FileInode): number {
1345
- if (node.buffer) {
1346
- return node.buffer.byteLength;
1347
- }
1348
- if (node.size !== undefined) {
1349
- return node.size;
1350
- }
1351
- if (node.source && node.resolver) {
1352
- return (node.size = node.resolver.statSync(node.source).size);
1353
- }
1354
- if (this._shadowRoot && node.shadowRoot) {
1355
- return (node.size = this._shadowRoot._getSize(node.shadowRoot));
1356
- }
1357
- return 0;
1358
- }
1359
-
1360
- private _getBuffer(node: FileInode): Buffer {
1361
- if (!node.buffer) {
1362
- const { source, resolver } = node;
1363
- if (source && resolver) {
1364
- node.source = undefined;
1365
- node.resolver = undefined;
1366
- node.size = undefined;
1367
- node.buffer = resolver.readFileSync(source);
1368
- } else if (this._shadowRoot && node.shadowRoot) {
1369
- node.buffer = this._shadowRoot._getBuffer(node.shadowRoot);
1370
- } else {
1371
- node.buffer = Buffer.allocUnsafe(0);
1372
- }
1373
- }
1374
- return node.buffer;
1375
- }
1376
-
1377
- /**
1378
- * Walk a path to its end.
1379
- *
1380
- * @param path The path to follow.
1381
- * @param noFollow A value indicating whether to *not* dereference a symbolic link at the
1382
- * end of a path.
1383
- *
1384
- * @link http://man7.org/linux/man-pages/man7/path_resolution.7.html
1385
- */
1386
- private _walk(
1387
- path: string,
1388
- noFollow?: boolean,
1389
- onError?: (error: NodeJS.ErrnoException, fragment: WalkResult) => 'retry' | 'throw'
1390
- ): WalkResult;
1391
- private _walk(
1392
- path: string,
1393
- noFollow?: boolean,
1394
- onError?: (error: NodeJS.ErrnoException, fragment: WalkResult) => 'stop' | 'retry' | 'throw'
1395
- ): WalkResult | undefined;
1396
- private _walk(
1397
- path: string,
1398
- noFollow?: boolean,
1399
- onError?: (error: NodeJS.ErrnoException, fragment: WalkResult) => 'stop' | 'retry' | 'throw'
1400
- ): WalkResult | undefined {
1401
- let links = this._getRootLinks();
1402
- let parent: DirectoryInode | undefined;
1403
- let components = pathUtil.getPathComponents(path);
1404
- let step = 0;
1405
- let depth = 0;
1406
- let retry = false;
1407
- while (true) {
1408
- if (depth >= 40) {
1409
- throw createIOError('ELOOP');
1410
- }
1411
- const lastStep = step === components.length - 1;
1412
- const basename = components[step];
1413
- const node = links.get(basename);
1414
- if (lastStep && (noFollow || !isSymlink(node))) {
1415
- return { realpath: pathUtil.combinePathComponents(components), basename, parent, links, node };
1416
- }
1417
- if (node === undefined) {
1418
- if (trapError(createIOError('ENOENT'), node)) {
1419
- continue;
1420
- }
1421
- return undefined;
1422
- }
1423
- if (isSymlink(node)) {
1424
- const dirname = pathUtil.combinePathComponents(components.slice(0, step));
1425
- const symlink = pathUtil.resolvePaths(dirname, node.symlink);
1426
- links = this._getRootLinks();
1427
- parent = undefined;
1428
- components = pathUtil.getPathComponents(symlink).concat(components.slice(step + 1));
1429
- step = 0;
1430
- depth++;
1431
- retry = false;
1432
- continue;
1433
- }
1434
- if (isDirectory(node)) {
1435
- links = this._getLinks(node);
1436
- parent = node;
1437
- step++;
1438
- retry = false;
1439
- continue;
1440
- }
1441
- if (trapError(createIOError('ENOTDIR'), node)) {
1442
- continue;
1443
- }
1444
- return undefined;
1445
- }
1446
-
1447
- function trapError(error: NodeJS.ErrnoException, node?: Inode) {
1448
- const realpath = pathUtil.combinePathComponents(components.slice(0, step + 1));
1449
- const basename = components[step];
1450
- const result = !retry && onError ? onError(error, { realpath, basename, parent, links, node }) : 'throw';
1451
- if (result === 'stop') {
1452
- return false;
1453
- }
1454
- if (result === 'retry') {
1455
- retry = true;
1456
- return true;
1457
- }
1458
- throw error;
1459
- }
1460
- }
1461
-
1462
- /**
1463
- * Resolve a path relative to the current working directory.
1464
- */
1465
- private _resolve(path: string) {
1466
- return this._cwd
1467
- ? pathUtil.resolvePaths(
1468
- this._cwd,
1469
- validate(path, ValidationFlags.RelativeOrAbsolute | ValidationFlags.AllowWildcard)
1470
- )
1471
- : validate(path, ValidationFlags.Absolute | ValidationFlags.AllowWildcard);
1472
- }
1473
-
1474
- private _applyFiles(files: FileSet, dirname: string) {
1475
- const deferred: [Symlink | Link | Mount, string][] = [];
1476
- this._applyFilesWorker(files, dirname, deferred);
1477
- for (const [entry, path] of deferred) {
1478
- this.mkdirpSync(pathUtil.getDirectoryPath(path));
1479
- this.pushd(pathUtil.getDirectoryPath(path));
1480
- if (entry instanceof Symlink) {
1481
- if (this.stringComparer(pathUtil.getDirectoryPath(path), path) === 0) {
1482
- throw new TypeError('Roots cannot be symbolic links.');
1483
- }
1484
- this.symlinkSync(pathUtil.resolvePaths(dirname, entry.symlink), path);
1485
- this._applyFileExtendedOptions(path, entry);
1486
- } else if (entry instanceof Link) {
1487
- if (this.stringComparer(pathUtil.getDirectoryPath(path), path) === 0) {
1488
- throw new TypeError('Roots cannot be hard links.');
1489
- }
1490
- this.linkSync(entry.path, path);
1491
- } else {
1492
- this.mountSync(entry.source, path, entry.resolver);
1493
- this._applyFileExtendedOptions(path, entry);
1494
- }
1495
- this.popd();
1496
- }
1497
- }
1498
-
1499
- private _applyFileExtendedOptions(path: string, entry: Directory | File | Symlink | Mount) {
1500
- const { meta } = entry;
1501
- if (meta !== undefined) {
1502
- const filemeta = this.filemeta(path);
1503
- for (const key of Object.keys(meta)) {
1504
- filemeta.set(key, meta[key]);
1505
- }
1506
- }
1507
- }
1508
-
1509
- private _applyFilesWorker(files: FileSet, dirname: string, deferred: [Symlink | Link | Mount, string][]) {
1510
- for (const key of Object.keys(files)) {
1511
- const value = normalizeFileSetEntry(files[key]);
1512
- const path = dirname ? pathUtil.resolvePaths(dirname, key) : key;
1513
- validate(path, ValidationFlags.Absolute);
1514
-
1515
- if (value === null || value === undefined || value instanceof Rmdir || value instanceof Unlink) {
1516
- if (this.stringComparer(pathUtil.getDirectoryPath(path), path) === 0) {
1517
- throw new TypeError('Roots cannot be deleted.');
1518
- }
1519
- this.rimrafSync(path);
1520
- } else if (value instanceof File) {
1521
- if (this.stringComparer(pathUtil.getDirectoryPath(path), path) === 0) {
1522
- throw new TypeError('Roots cannot be files.');
1523
- }
1524
- this.mkdirpSync(pathUtil.getDirectoryPath(path));
1525
- this.writeFileSync(path, value.data, value.encoding);
1526
- this._applyFileExtendedOptions(path, value);
1527
- } else if (value instanceof Directory) {
1528
- this.mkdirpSync(path);
1529
- this._applyFileExtendedOptions(path, value);
1530
- this._applyFilesWorker(value.files, path, deferred);
1531
- } else {
1532
- deferred.push([value, path]);
1533
- }
1534
- }
1535
- }
1536
- }
1537
-
1538
- export interface FileSystemOptions {
1539
- // Sets the initial timestamp for new files and directories, or the function used
1540
- // to calculate timestamps.
1541
- time?: number | Date | (() => number | Date) | undefined;
1542
-
1543
- // A set of file system entries to initially add to the file system.
1544
- files?: FileSet | undefined;
1545
-
1546
- // Sets the initial working directory for the file system.
1547
- cwd?: string | undefined;
1548
-
1549
- // Sets initial metadata attached to the file system.
1550
- meta?: Record<string, any> | undefined;
1551
- }
1552
-
1553
- export type Axis = 'ancestors' | 'ancestors-or-self' | 'self' | 'descendants-or-self' | 'descendants';
1554
-
1555
- export interface Traversal {
1556
- /** A function called to choose whether to continue to traverse to either ancestors or descendants. */
1557
- traverse?(path: string, stats: Stats): boolean;
1558
- /** A function called to choose whether to accept a path as part of the result. */
1559
- accept?(path: string, stats: Stats): boolean;
1560
- }
1561
-
1562
- export interface FileSystemResolver {
1563
- statSync(path: string): { mode: number; size: number };
1564
- readdirSync(path: string): string[];
1565
- readFileSync(path: string): Buffer;
1566
- }
1567
-
1568
- /**
1569
- * A template used to populate files, directories, links, etc. in a virtual file system.
1570
- */
1571
- export interface FileSet {
1572
- [name: string]: DirectoryLike | FileLike | Link | Symlink | Mount | Rmdir | Unlink | null | undefined;
1573
- }
1574
-
1575
- export type DirectoryLike = FileSet | Directory;
1576
- export type FileLike = File | Buffer | string;
1577
-
1578
- /** Extended options for a directory in a `FileSet` */
1579
- export class Directory {
1580
- readonly files: FileSet;
1581
- readonly meta: Record<string, any> | undefined;
1582
- constructor(files: FileSet, { meta }: { meta?: Record<string, any> } = {}) {
1583
- this.files = files;
1584
- this.meta = meta;
1585
- }
1586
- }
1587
-
1588
- /** Extended options for a file in a `FileSet` */
1589
- export class File {
1590
- readonly data: Buffer | string;
1591
- readonly encoding: BufferEncoding | undefined;
1592
- readonly meta: Record<string, any> | undefined;
1593
- constructor(
1594
- data: Buffer | string,
1595
- { meta, encoding }: { encoding?: BufferEncoding; meta?: Record<string, any> } = {}
1596
- ) {
1597
- this.data = data;
1598
- this.encoding = encoding;
1599
- this.meta = meta;
1600
- }
1601
- }
1602
-
1603
- export class SameFileContentFile extends File {
1604
- constructor(data: Buffer | string, metaAndEncoding?: { encoding?: BufferEncoding; meta?: Record<string, any> }) {
1605
- super(data, metaAndEncoding);
1606
- }
1607
- }
1608
-
1609
- /** Extended options for a hard link in a `FileSet` */
1610
- export class Link {
1611
- readonly path: string;
1612
- constructor(path: string) {
1613
- this.path = path;
1614
- }
1615
- }
1616
-
1617
- /** Removes a directory in a `FileSet` */
1618
- export class Rmdir {
1619
- ' rmdirBrand'?: never; // brand necessary for proper type guards
1620
- }
1621
-
1622
- /** Unlinks a file in a `FileSet` */
1623
- export class Unlink {
1624
- ' unlinkBrand'?: never; // brand necessary for proper type guards
1625
- }
1626
-
1627
- /** Extended options for a symbolic link in a `FileSet` */
1628
- export class Symlink {
1629
- readonly symlink: string;
1630
- readonly meta: Record<string, any> | undefined;
1631
- constructor(symlink: string, { meta }: { meta?: Record<string, any> } = {}) {
1632
- this.symlink = symlink;
1633
- this.meta = meta;
1634
- }
1635
- }
1636
-
1637
- // file type
1638
- // these should be only used inside of test code. it is export just because mock file system is separated into
1639
- // 2 files. this and factory.ts file. actual value doesn't matter
1640
- export const S_IFMT = 0o170000; // file type
1641
- export const S_IFSOCK = 0o140000; // socket
1642
- export const S_IFLNK = 0o120000; // symbolic link
1643
- export const S_IFREG = 0o100000; // regular file
1644
- export const S_IFBLK = 0o060000; // block device
1645
- export const S_IFDIR = 0o040000; // directory
1646
- export const S_IFCHR = 0o020000; // character device
1647
- export const S_IFIFO = 0o010000; // FIFO
1648
-
1649
- /** Extended options for mounting a virtual copy of an external file system via a `FileSet` */
1650
- export class Mount {
1651
- readonly source: string;
1652
- readonly resolver: FileSystemResolver;
1653
- readonly meta: Record<string, any> | undefined;
1654
- constructor(source: string, resolver: FileSystemResolver, { meta }: { meta?: Record<string, any> } = {}) {
1655
- this.source = source;
1656
- this.resolver = resolver;
1657
- this.meta = meta;
1658
- }
1659
- }
1660
-
1661
- // a generic POSIX inode
1662
- type Inode = FileInode | DirectoryInode | SymlinkInode;
1663
-
1664
- interface FileInode {
1665
- dev: number; // device id
1666
- ino: number; // inode id
1667
- mode: number; // file mode
1668
- atimeMs: number; // access time
1669
- mtimeMs: number; // modified time
1670
- ctimeMs: number; // status change time
1671
- birthtimeMs: number; // creation time
1672
- nlink: number; // number of hard links
1673
- size?: number | undefined;
1674
- buffer?: Buffer | undefined;
1675
- source?: string | undefined;
1676
- resolver?: FileSystemResolver | undefined;
1677
- shadowRoot?: FileInode | undefined;
1678
- meta?: Metadata | undefined;
1679
- }
1680
-
1681
- interface DirectoryInode {
1682
- dev: number; // device id
1683
- ino: number; // inode id
1684
- mode: number; // file mode
1685
- atimeMs: number; // access time
1686
- mtimeMs: number; // modified time
1687
- ctimeMs: number; // status change time
1688
- birthtimeMs: number; // creation time
1689
- nlink: number; // number of hard links
1690
- links?: SortedMap<string, Inode> | undefined;
1691
- source?: string | undefined;
1692
- resolver?: FileSystemResolver | undefined;
1693
- shadowRoot?: DirectoryInode | undefined;
1694
- meta?: Metadata | undefined;
1695
- }
1696
-
1697
- interface SymlinkInode {
1698
- dev: number; // device id
1699
- ino: number; // inode id
1700
- mode: number; // file mode
1701
- atimeMs: number; // access time
1702
- mtimeMs: number; // modified time
1703
- ctimeMs: number; // status change time
1704
- birthtimeMs: number; // creation time
1705
- nlink: number; // number of hard links
1706
- symlink: string;
1707
- shadowRoot?: SymlinkInode | undefined;
1708
- meta?: Metadata | undefined;
1709
- }
1710
-
1711
- function isEmptyNonShadowedDirectory(node: DirectoryInode) {
1712
- return !node.links && !node.shadowRoot && !node.resolver && !node.source;
1713
- }
1714
-
1715
- function isEmptyNonShadowedFile(node: FileInode) {
1716
- return !node.buffer && !node.shadowRoot && !node.resolver && !node.source;
1717
- }
1718
-
1719
- function isFile(node: Inode | undefined): node is FileInode {
1720
- return node !== undefined && (node.mode & S_IFMT) === S_IFREG;
1721
- }
1722
-
1723
- function isDirectory(node: Inode | undefined): node is DirectoryInode {
1724
- return node !== undefined && (node.mode & S_IFMT) === S_IFDIR;
1725
- }
1726
-
1727
- function isSymlink(node: Inode | undefined): node is SymlinkInode {
1728
- return node !== undefined && (node.mode & S_IFMT) === S_IFLNK;
1729
- }
1730
-
1731
- interface WalkResult {
1732
- realpath: string;
1733
- basename: string;
1734
- parent: DirectoryInode | undefined;
1735
- links: SortedMap<string, Inode>;
1736
- node: Inode | undefined;
1737
- }
1738
-
1739
- function normalizeFileSetEntry(value: FileSet[string]) {
1740
- if (
1741
- value === undefined ||
1742
- value === null ||
1743
- value instanceof Directory ||
1744
- value instanceof File ||
1745
- value instanceof Link ||
1746
- value instanceof Symlink ||
1747
- value instanceof Mount ||
1748
- value instanceof Rmdir ||
1749
- value instanceof Unlink
1750
- ) {
1751
- return value;
1752
- }
1753
- return typeof value === 'string' || Buffer.isBuffer(value) ? new File(value) : new Directory(value);
1754
- }
1755
-
1756
- export function formatPatch(patch: FileSet): string;
1757
- export function formatPatch(patch: FileSet | undefined): string | null;
1758
- export function formatPatch(patch: FileSet | undefined) {
1759
- return patch ? formatPatchWorker('', patch) : null;
1760
- }
1761
-
1762
- function formatPatchWorker(dirname: string, container: FileSet): string {
1763
- let text = '';
1764
- for (const name of Object.keys(container)) {
1765
- const entry = normalizeFileSetEntry(container[name]);
1766
- const file = dirname ? pathUtil.combinePaths(dirname, name) : name;
1767
- if (entry === null || entry === undefined || entry instanceof Unlink) {
1768
- text += `//// [${file}] unlink\r\n`;
1769
- } else if (entry instanceof Rmdir) {
1770
- text += `//// [${pathUtil.ensureTrailingDirectorySeparator(file)}] rmdir\r\n`;
1771
- } else if (entry instanceof Directory) {
1772
- text += formatPatchWorker(file, entry.files);
1773
- } else if (entry instanceof SameFileContentFile) {
1774
- text += `//// [${file}] file written with same contents\r\n`;
1775
- } else if (entry instanceof File) {
1776
- const content = typeof entry.data === 'string' ? entry.data : entry.data.toString('utf8');
1777
- text += `//// [${file}]\r\n${content}\r\n\r\n`;
1778
- } else if (entry instanceof Link) {
1779
- text += `//// [${file}] link(${entry.path})\r\n`;
1780
- } else if (entry instanceof Symlink) {
1781
- text += `//// [${file}] symlink(${entry.symlink})\r\n`;
1782
- } else if (entry instanceof Mount) {
1783
- text += `//// [${file}] mount(${entry.source})\r\n`;
1784
- }
1785
- }
1786
- return text;
1787
- }
1788
-
1789
- function makeDirEnt(name: string, node: Inode): Dirent {
1790
- const de: Dirent = {
1791
- isFile: () => isFile(node),
1792
- isDirectory: () => isDirectory(node),
1793
- isBlockDevice: () => false,
1794
- isCharacterDevice: () => false,
1795
- isFIFO: () => false,
1796
- isSocket: () => false,
1797
- isSymbolicLink: () => isSymlink(node),
1798
- name,
1799
- };
1800
- return de;
1801
- }
1802
-
1803
- class Stats {
1804
- dev: number;
1805
- ino: number;
1806
- mode: number;
1807
- nlink: number;
1808
- uid: number;
1809
- gid: number;
1810
- rdev: number;
1811
- size: number;
1812
- blksize: number;
1813
- blocks: number;
1814
- atimeMs: number;
1815
- mtimeMs: number;
1816
- ctimeMs: number;
1817
- birthtimeMs: number;
1818
- atime: Date;
1819
- mtime: Date;
1820
- ctime: Date;
1821
- birthtime: Date;
1822
-
1823
- constructor();
1824
- constructor(
1825
- dev: number,
1826
- ino: number,
1827
- mode: number,
1828
- nlink: number,
1829
- rdev: number,
1830
- size: number,
1831
- blksize: number,
1832
- blocks: number,
1833
- atimeMs: number,
1834
- mtimeMs: number,
1835
- ctimeMs: number,
1836
- birthtimeMs: number
1837
- );
1838
- constructor(
1839
- dev = 0,
1840
- ino = 0,
1841
- mode = 0,
1842
- nlink = 0,
1843
- rdev = 0,
1844
- size = 0,
1845
- blksize = 0,
1846
- blocks = 0,
1847
- atimeMs = 0,
1848
- mtimeMs = 0,
1849
- ctimeMs = 0,
1850
- birthtimeMs = 0
1851
- ) {
1852
- this.dev = dev;
1853
- this.ino = ino;
1854
- this.mode = mode;
1855
- this.nlink = nlink;
1856
- this.uid = 0;
1857
- this.gid = 0;
1858
- this.rdev = rdev;
1859
- this.size = size;
1860
- this.blksize = blksize;
1861
- this.blocks = blocks;
1862
- this.atimeMs = atimeMs;
1863
- this.mtimeMs = mtimeMs;
1864
- this.ctimeMs = ctimeMs;
1865
- this.birthtimeMs = birthtimeMs;
1866
- this.atime = new Date(this.atimeMs);
1867
- this.mtime = new Date(this.mtimeMs);
1868
- this.ctime = new Date(this.ctimeMs);
1869
- this.birthtime = new Date(this.birthtimeMs);
1870
- }
1871
-
1872
- isFile() {
1873
- return (this.mode & S_IFMT) === S_IFREG;
1874
- }
1875
- isDirectory() {
1876
- return (this.mode & S_IFMT) === S_IFDIR;
1877
- }
1878
- isSymbolicLink() {
1879
- return (this.mode & S_IFMT) === S_IFLNK;
1880
- }
1881
- isBlockDevice() {
1882
- return (this.mode & S_IFMT) === S_IFBLK;
1883
- }
1884
- isCharacterDevice() {
1885
- return (this.mode & S_IFMT) === S_IFCHR;
1886
- }
1887
- isFIFO() {
1888
- return (this.mode & S_IFMT) === S_IFIFO;
1889
- }
1890
- isSocket() {
1891
- return (this.mode & S_IFMT) === S_IFSOCK;
1892
- }
1893
- }