@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,1679 +0,0 @@
1
- /*
2
- * service.ts
3
- * Copyright (c) Microsoft Corporation.
4
- * Licensed under the MIT license.
5
- * Author: Eric Traut
6
- *
7
- * A persistent service that is able to analyze a collection of
8
- * Python files.
9
- */
10
-
11
- import * as TOML from '@iarna/toml';
12
- import * as JSONC from 'jsonc-parser';
13
- import {
14
- AbstractCancellationTokenSource,
15
- CancellationToken,
16
- CompletionItem,
17
- DocumentSymbol,
18
- } from 'vscode-languageserver';
19
- import { TextDocumentContentChangeEvent } from 'vscode-languageserver-textdocument';
20
- import {
21
- CallHierarchyIncomingCall,
22
- CallHierarchyItem,
23
- CallHierarchyOutgoingCall,
24
- DocumentHighlight,
25
- MarkupKind,
26
- } from 'vscode-languageserver-types';
27
-
28
- import { BackgroundAnalysisBase, IndexOptions } from '../backgroundAnalysisBase';
29
- import { CancellationProvider, DefaultCancellationProvider } from '../common/cancellationUtils';
30
- import { CommandLineOptions } from '../common/commandLineOptions';
31
- import { ConfigOptions } from '../common/configOptions';
32
- import { ConsoleInterface, log, LogLevel, StandardConsole } from '../common/console';
33
- import { Diagnostic } from '../common/diagnostic';
34
- import { FileEditActions, TextEditAction } from '../common/editAction';
35
- import { LanguageServiceExtension } from '../common/extensibility';
36
- import { FileSystem, FileWatcher, FileWatcherEventType, ignoredWatchEventFunction } from '../common/fileSystem';
37
- import { Host, HostFactory, NoAccessHost } from '../common/host';
38
- import {
39
- combinePaths,
40
- FileSpec,
41
- forEachAncestorDirectory,
42
- getDirectoryPath,
43
- getFileName,
44
- getFileSpec,
45
- getFileSystemEntries,
46
- hasPythonExtension,
47
- isDirectory,
48
- isFile,
49
- makeDirectories,
50
- normalizePath,
51
- normalizeSlashes,
52
- stripFileExtension,
53
- tryRealpath,
54
- tryStat,
55
- } from '../common/pathUtils';
56
- import { DocumentRange, Position, Range } from '../common/textRange';
57
- import { timingStats } from '../common/timing';
58
- import { AbbreviationMap, CompletionOptions, CompletionResultsList } from '../languageService/completionProvider';
59
- import { DefinitionFilter } from '../languageService/definitionProvider';
60
- import { IndexResults, WorkspaceSymbolCallback } from '../languageService/documentSymbolProvider';
61
- import { HoverResults } from '../languageService/hoverProvider';
62
- import { ReferenceCallback } from '../languageService/referencesProvider';
63
- import { SignatureHelpResults } from '../languageService/signatureHelpProvider';
64
- import { AnalysisCompleteCallback } from './analysis';
65
- import { BackgroundAnalysisProgram, BackgroundAnalysisProgramFactory } from './backgroundAnalysisProgram';
66
- import { createImportedModuleDescriptor, ImportResolver, ImportResolverFactory } from './importResolver';
67
- import { MaxAnalysisTime, Program } from './program';
68
- import { findPythonSearchPaths } from './pythonPathUtils';
69
- import { TypeEvaluator } from './typeEvaluatorTypes';
70
-
71
- export const configFileNames = ['pyrightconfig.json'];
72
- export const pyprojectTomlName = 'pyproject.toml';
73
-
74
- // How long since the last user activity should we wait until running
75
- // the analyzer on any files that have not yet been analyzed?
76
- const _userActivityBackoffTimeInMs = 250;
77
-
78
- const _gitDirectory = normalizeSlashes('/.git/');
79
- const _includeFileRegex = /\.pyi?$/;
80
-
81
- // How long since the last library activity should we wait until
82
- // re-analyzing the libraries? (10min)
83
- const _libraryActivityBackoffTimeInMs = 60 * 1000 * 10;
84
-
85
- export class AnalyzerService {
86
- private _hostFactory: HostFactory;
87
- private _instanceName: string;
88
- private _importResolverFactory: ImportResolverFactory;
89
- private _executionRootPath: string;
90
- private _typeStubTargetPath: string | undefined;
91
- private _typeStubTargetIsSingleFile = false;
92
- private _console: ConsoleInterface;
93
- private _sourceFileWatcher: FileWatcher | undefined;
94
- private _reloadConfigTimer: any;
95
- private _libraryReanalysisTimer: any;
96
- private _configFilePath: string | undefined;
97
- private _configFileWatcher: FileWatcher | undefined;
98
- private _libraryFileWatcher: FileWatcher | undefined;
99
- private _librarySearchPathsToWatch: string[] | undefined;
100
- private _onCompletionCallback: AnalysisCompleteCallback | undefined;
101
- private _commandLineOptions: CommandLineOptions | undefined;
102
- private _analyzeTimer: any;
103
- private _requireTrackedFileUpdate = true;
104
- private _lastUserInteractionTime = Date.now();
105
- private _extension: LanguageServiceExtension | undefined;
106
- private _backgroundAnalysisProgram: BackgroundAnalysisProgram;
107
- private _backgroundAnalysisCancellationSource: AbstractCancellationTokenSource | undefined;
108
- private _maxAnalysisTimeInForeground: MaxAnalysisTime | undefined;
109
- private _backgroundAnalysisProgramFactory: BackgroundAnalysisProgramFactory | undefined;
110
- private _disposed = false;
111
- private _cancellationProvider: CancellationProvider;
112
-
113
- constructor(
114
- instanceName: string,
115
- fs: FileSystem,
116
- console?: ConsoleInterface,
117
- hostFactory?: HostFactory,
118
- importResolverFactory?: ImportResolverFactory,
119
- configOptions?: ConfigOptions,
120
- extension?: LanguageServiceExtension,
121
- backgroundAnalysis?: BackgroundAnalysisBase,
122
- maxAnalysisTime?: MaxAnalysisTime,
123
- backgroundAnalysisProgramFactory?: BackgroundAnalysisProgramFactory,
124
- cancellationProvider?: CancellationProvider
125
- ) {
126
- this._instanceName = instanceName;
127
- this._console = console || new StandardConsole();
128
- this._executionRootPath = '';
129
- this._extension = extension;
130
- this._importResolverFactory = importResolverFactory || AnalyzerService.createImportResolver;
131
- this._maxAnalysisTimeInForeground = maxAnalysisTime;
132
- this._backgroundAnalysisProgramFactory = backgroundAnalysisProgramFactory;
133
- this._cancellationProvider = cancellationProvider ?? new DefaultCancellationProvider();
134
- this._hostFactory = hostFactory ?? (() => new NoAccessHost());
135
-
136
- configOptions = configOptions ?? new ConfigOptions(process.cwd());
137
- const importResolver = this._importResolverFactory(fs, configOptions, this._hostFactory());
138
-
139
- this._backgroundAnalysisProgram =
140
- backgroundAnalysisProgramFactory !== undefined
141
- ? backgroundAnalysisProgramFactory(
142
- this._console,
143
- configOptions,
144
- importResolver,
145
- this._extension,
146
- backgroundAnalysis,
147
- this._maxAnalysisTimeInForeground
148
- )
149
- : new BackgroundAnalysisProgram(
150
- this._console,
151
- configOptions,
152
- importResolver,
153
- this._extension,
154
- backgroundAnalysis,
155
- this._maxAnalysisTimeInForeground
156
- );
157
- }
158
-
159
- clone(instanceName: string, backgroundAnalysis?: BackgroundAnalysisBase, fs?: FileSystem): AnalyzerService {
160
- const service = new AnalyzerService(
161
- instanceName,
162
- fs ?? this._fs,
163
- this._console,
164
- this._hostFactory,
165
- this._importResolverFactory,
166
- this._backgroundAnalysisProgram.configOptions,
167
- this._extension,
168
- backgroundAnalysis,
169
- this._maxAnalysisTimeInForeground,
170
- this._backgroundAnalysisProgramFactory,
171
- this._cancellationProvider
172
- );
173
-
174
- // Make sure we keep editor content (open file) which could be different than one in the file system.
175
- for (const fileInfo of this.backgroundAnalysisProgram.program.getOpened()) {
176
- const version = fileInfo.sourceFile.getClientVersion();
177
- if (version !== undefined) {
178
- service.setFileOpened(
179
- fileInfo.sourceFile.getFilePath(),
180
- version,
181
- fileInfo.sourceFile.getOpenFileContents()!
182
- );
183
- }
184
- }
185
-
186
- return service;
187
- }
188
-
189
- dispose() {
190
- this._disposed = true;
191
- this._removeSourceFileWatchers();
192
- this._removeConfigFileWatcher();
193
- this._removeLibraryFileWatcher();
194
- this._clearReloadConfigTimer();
195
- this._clearReanalysisTimer();
196
- this._clearLibraryReanalysisTimer();
197
- }
198
-
199
- get librarySearchPathsToWatch() {
200
- return this._librarySearchPathsToWatch;
201
- }
202
-
203
- get backgroundAnalysisProgram(): BackgroundAnalysisProgram {
204
- return this._backgroundAnalysisProgram;
205
- }
206
-
207
- static createImportResolver(fs: FileSystem, options: ConfigOptions, host: Host): ImportResolver {
208
- return new ImportResolver(fs, options, host);
209
- }
210
-
211
- setCompletionCallback(callback: AnalysisCompleteCallback | undefined): void {
212
- this._onCompletionCallback = callback;
213
- this._backgroundAnalysisProgram.setCompletionCallback(callback);
214
- }
215
-
216
- setOptions(commandLineOptions: CommandLineOptions): void {
217
- this._commandLineOptions = commandLineOptions;
218
-
219
- const host = this._hostFactory();
220
- const configOptions = this._getConfigOptions(host, commandLineOptions);
221
-
222
- if (configOptions.pythonPath) {
223
- // Make sure we have default python environment set.
224
- configOptions.ensureDefaultPythonVersion(host, this._console);
225
- }
226
-
227
- configOptions.ensureDefaultPythonPlatform(host, this._console);
228
-
229
- this._backgroundAnalysisProgram.setConfigOptions(configOptions);
230
-
231
- this._executionRootPath = normalizePath(
232
- combinePaths(commandLineOptions.executionRoot, configOptions.projectRoot)
233
- );
234
- this._applyConfigOptions(host);
235
- }
236
-
237
- isTracked(filePath: string): boolean {
238
- for (const includeSpec of this._configOptions.include) {
239
- if (this._matchIncludeFileSpec(includeSpec.regExp, this._configOptions.exclude, filePath)) {
240
- return true;
241
- }
242
- }
243
-
244
- return false;
245
- }
246
-
247
- setFileOpened(
248
- path: string,
249
- version: number | null,
250
- contents: string,
251
- ipythonMode = false,
252
- chainedFilePath?: string
253
- ) {
254
- this._backgroundAnalysisProgram.setFileOpened(path, version, contents, {
255
- isTracked: this.isTracked(path),
256
- ipythonMode,
257
- chainedFilePath,
258
- });
259
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
260
- }
261
-
262
- updateChainedFilePath(path: string, chainedFilePath: string | undefined) {
263
- this._backgroundAnalysisProgram.updateChainedFilePath(path, chainedFilePath);
264
- this._scheduleReanalysis(/*requireTrackedFileUpdate*/ false);
265
- }
266
-
267
- updateOpenFileContents(
268
- path: string,
269
- version: number | null,
270
- contents: TextDocumentContentChangeEvent[],
271
- ipythonMode = false,
272
- chainedFilePath?: string
273
- ) {
274
- this._backgroundAnalysisProgram.updateOpenFileContents(path, version, contents, {
275
- isTracked: this.isTracked(path),
276
- ipythonMode,
277
- chainedFilePath,
278
- });
279
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
280
- }
281
-
282
- test_setIndexing(
283
- workspaceIndices: Map<string, IndexResults>,
284
- libraryIndices: Map<string | undefined, Map<string, IndexResults>>
285
- ) {
286
- this._backgroundAnalysisProgram.test_setIndexing(workspaceIndices, libraryIndices);
287
- }
288
-
289
- startIndexing(indexOptions: IndexOptions) {
290
- this._backgroundAnalysisProgram.startIndexing(indexOptions);
291
- }
292
-
293
- setFileClosed(path: string) {
294
- this._backgroundAnalysisProgram.setFileClosed(path);
295
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
296
- }
297
-
298
- getParseResult(path: string) {
299
- return this._program.getBoundSourceFile(path)?.getParseResults();
300
- }
301
-
302
- getTextOnRange(filePath: string, range: Range, token: CancellationToken) {
303
- return this._program.getTextOnRange(filePath, range, token);
304
- }
305
-
306
- getAutoImports(
307
- filePath: string,
308
- range: Range,
309
- similarityLimit: number,
310
- nameMap: AbbreviationMap | undefined,
311
- lazyEdit: boolean,
312
- allowVariableInAll: boolean,
313
- token: CancellationToken
314
- ) {
315
- return this._program.getAutoImports(
316
- filePath,
317
- range,
318
- similarityLimit,
319
- nameMap,
320
- this._backgroundAnalysisProgram.getIndexing(filePath),
321
- lazyEdit,
322
- allowVariableInAll,
323
- token
324
- );
325
- }
326
-
327
- getDefinitionForPosition(
328
- filePath: string,
329
- position: Position,
330
- filter: DefinitionFilter,
331
- token: CancellationToken
332
- ): DocumentRange[] | undefined {
333
- return this._program.getDefinitionsForPosition(filePath, position, filter, token);
334
- }
335
-
336
- getTypeDefinitionForPosition(
337
- filePath: string,
338
- position: Position,
339
- token: CancellationToken
340
- ): DocumentRange[] | undefined {
341
- return this._program.getTypeDefinitionsForPosition(filePath, position, token);
342
- }
343
-
344
- reportReferencesForPosition(
345
- filePath: string,
346
- position: Position,
347
- includeDeclaration: boolean,
348
- reporter: ReferenceCallback,
349
- token: CancellationToken
350
- ) {
351
- this._program.reportReferencesForPosition(filePath, position, includeDeclaration, reporter, token);
352
- }
353
-
354
- addSymbolsForDocument(filePath: string, symbolList: DocumentSymbol[], token: CancellationToken) {
355
- this._program.addSymbolsForDocument(filePath, symbolList, token);
356
- }
357
-
358
- reportSymbolsForWorkspace(query: string, reporter: WorkspaceSymbolCallback, token: CancellationToken) {
359
- this._program.reportSymbolsForWorkspace(query, reporter, token);
360
- }
361
-
362
- getHoverForPosition(
363
- filePath: string,
364
- position: Position,
365
- format: MarkupKind,
366
- token: CancellationToken
367
- ): HoverResults | undefined {
368
- return this._program.getHoverForPosition(filePath, position, format, token);
369
- }
370
-
371
- getDocumentHighlight(
372
- filePath: string,
373
- position: Position,
374
- token: CancellationToken
375
- ): DocumentHighlight[] | undefined {
376
- return this._program.getDocumentHighlight(filePath, position, token);
377
- }
378
-
379
- getSignatureHelpForPosition(
380
- filePath: string,
381
- position: Position,
382
- format: MarkupKind,
383
- token: CancellationToken
384
- ): SignatureHelpResults | undefined {
385
- return this._program.getSignatureHelpForPosition(filePath, position, format, token);
386
- }
387
-
388
- getCompletionsForPosition(
389
- filePath: string,
390
- position: Position,
391
- workspacePath: string,
392
- options: CompletionOptions,
393
- nameMap: AbbreviationMap | undefined,
394
- token: CancellationToken
395
- ): Promise<CompletionResultsList | undefined> {
396
- return this._program.getCompletionsForPosition(
397
- filePath,
398
- position,
399
- workspacePath,
400
- options,
401
- nameMap,
402
- this._backgroundAnalysisProgram.getIndexing(filePath),
403
- token
404
- );
405
- }
406
-
407
- getEvaluator(): TypeEvaluator | undefined {
408
- return this._program.evaluator;
409
- }
410
-
411
- resolveCompletionItem(
412
- filePath: string,
413
- completionItem: CompletionItem,
414
- options: CompletionOptions,
415
- nameMap: AbbreviationMap | undefined,
416
- token: CancellationToken
417
- ) {
418
- this._program.resolveCompletionItem(
419
- filePath,
420
- completionItem,
421
- options,
422
- nameMap,
423
- this._backgroundAnalysisProgram.getIndexing(filePath),
424
- token
425
- );
426
- }
427
-
428
- performQuickAction(
429
- filePath: string,
430
- command: string,
431
- args: any[],
432
- token: CancellationToken
433
- ): TextEditAction[] | undefined {
434
- return this._program.performQuickAction(filePath, command, args, token);
435
- }
436
-
437
- renameModule(filePath: string, newFilePath: string, token: CancellationToken): FileEditActions | undefined {
438
- return this._program.renameModule(filePath, newFilePath, token);
439
- }
440
-
441
- canRenameSymbolAtPosition(
442
- filePath: string,
443
- position: Position,
444
- isDefaultWorkspace: boolean,
445
- allowModuleRename: boolean,
446
- token: CancellationToken
447
- ): Range | undefined {
448
- return this._program.canRenameSymbolAtPosition(
449
- filePath,
450
- position,
451
- isDefaultWorkspace,
452
- allowModuleRename,
453
- token
454
- );
455
- }
456
-
457
- renameSymbolAtPosition(
458
- filePath: string,
459
- position: Position,
460
- newName: string,
461
- isDefaultWorkspace: boolean,
462
- allowModuleRename: boolean,
463
- token: CancellationToken
464
- ): FileEditActions | undefined {
465
- return this._program.renameSymbolAtPosition(
466
- filePath,
467
- position,
468
- newName,
469
- isDefaultWorkspace,
470
- allowModuleRename,
471
- token
472
- );
473
- }
474
-
475
- getCallForPosition(filePath: string, position: Position, token: CancellationToken): CallHierarchyItem | undefined {
476
- return this._program.getCallForPosition(filePath, position, token);
477
- }
478
-
479
- getIncomingCallsForPosition(
480
- filePath: string,
481
- position: Position,
482
- token: CancellationToken
483
- ): CallHierarchyIncomingCall[] | undefined {
484
- return this._program.getIncomingCallsForPosition(filePath, position, token);
485
- }
486
-
487
- getOutgoingCallsForPosition(
488
- filePath: string,
489
- position: Position,
490
- token: CancellationToken
491
- ): CallHierarchyOutgoingCall[] | undefined {
492
- return this._program.getOutgoingCallsForPosition(filePath, position, token);
493
- }
494
-
495
- printStats() {
496
- this._console.info('');
497
- this._console.info('Analysis stats');
498
-
499
- const boundFileCount = this._program.getFileCount();
500
- this._console.info('Total files parsed and bound: ' + boundFileCount.toString());
501
-
502
- const checkedFileCount = this._program.getUserFileCount();
503
- this._console.info('Total files checked: ' + checkedFileCount.toString());
504
- }
505
-
506
- printDetailedAnalysisTimes() {
507
- this._program.printDetailedAnalysisTimes();
508
- }
509
-
510
- printDependencies(verbose: boolean) {
511
- this._program.printDependencies(this._executionRootPath, verbose);
512
- }
513
-
514
- getDiagnosticsForRange(filePath: string, range: Range, token: CancellationToken): Promise<Diagnostic[]> {
515
- return this._backgroundAnalysisProgram.getDiagnosticsForRange(filePath, range, token);
516
- }
517
-
518
- getConfigOptions() {
519
- return this._configOptions;
520
- }
521
-
522
- getImportResolver(): ImportResolver {
523
- return this._backgroundAnalysisProgram.importResolver;
524
- }
525
-
526
- recordUserInteractionTime() {
527
- this._lastUserInteractionTime = Date.now();
528
-
529
- // If we have a pending timer for reanalysis, cancel it
530
- // and reschedule for some time in the future.
531
- if (this._analyzeTimer) {
532
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
533
- }
534
- }
535
-
536
- // test only APIs
537
- get test_program() {
538
- return this._program;
539
- }
540
-
541
- test_getConfigOptions(commandLineOptions: CommandLineOptions): ConfigOptions {
542
- return this._getConfigOptions(this._backgroundAnalysisProgram.host, commandLineOptions);
543
- }
544
-
545
- test_getFileNamesFromFileSpecs(): string[] {
546
- return this._getFileNamesFromFileSpecs();
547
- }
548
-
549
- // Calculates the effective options based on the command-line options,
550
- // an optional config file, and default values.
551
- private _getConfigOptions(host: Host, commandLineOptions: CommandLineOptions): ConfigOptions {
552
- let projectRoot = commandLineOptions.executionRoot;
553
- let configFilePath: string | undefined;
554
- let pyprojectFilePath: string | undefined;
555
-
556
- if (commandLineOptions.configFilePath) {
557
- // If the config file path was specified, determine whether it's
558
- // a directory (in which case the default config file name is assumed)
559
- // or a file.
560
- configFilePath = combinePaths(
561
- commandLineOptions.executionRoot,
562
- normalizePath(commandLineOptions.configFilePath)
563
- );
564
- if (!this._fs.existsSync(configFilePath)) {
565
- this._console.info(`Configuration file not found at ${configFilePath}.`);
566
- configFilePath = commandLineOptions.executionRoot;
567
- } else {
568
- if (configFilePath.toLowerCase().endsWith('.json')) {
569
- projectRoot = getDirectoryPath(configFilePath);
570
- } else {
571
- projectRoot = configFilePath;
572
- configFilePath = this._findConfigFile(configFilePath);
573
- if (!configFilePath) {
574
- this._console.info(`Configuration file not found at ${projectRoot}.`);
575
- }
576
- }
577
- }
578
- } else if (projectRoot) {
579
- // In a project-based IDE like VS Code, we should assume that the
580
- // project root directory contains the config file.
581
- configFilePath = this._findConfigFile(projectRoot);
582
-
583
- // If pyright is being executed from the command line, the working
584
- // directory may be deep within a project, and we need to walk up the
585
- // directory hierarchy to find the project root.
586
- if (!configFilePath && !commandLineOptions.fromVsCodeExtension) {
587
- configFilePath = this._findConfigFileHereOrUp(projectRoot);
588
- }
589
-
590
- if (configFilePath) {
591
- projectRoot = getDirectoryPath(configFilePath);
592
- } else {
593
- this._console.info(`No configuration file found.`);
594
- configFilePath = undefined;
595
- }
596
- }
597
-
598
- if (!configFilePath) {
599
- // See if we can find a pyproject.toml file in this directory.
600
- pyprojectFilePath = this._findPyprojectTomlFile(projectRoot);
601
-
602
- if (!pyprojectFilePath && !commandLineOptions.fromVsCodeExtension) {
603
- pyprojectFilePath = this._findPyprojectTomlFileHereOrUp(projectRoot);
604
- }
605
-
606
- if (pyprojectFilePath) {
607
- projectRoot = getDirectoryPath(pyprojectFilePath);
608
- this._console.info(`pyproject.toml file found at ${projectRoot}.`);
609
- } else {
610
- this._console.info(`No pyproject.toml file found.`);
611
- }
612
- }
613
-
614
- const configOptions = new ConfigOptions(projectRoot, this._typeCheckingMode);
615
- const defaultExcludes = ['**/node_modules', '**/__pycache__', '**/.*'];
616
-
617
- if (commandLineOptions.pythonPath) {
618
- this._console.info(
619
- `Setting pythonPath for service "${this._instanceName}": ` + `"${commandLineOptions.pythonPath}"`
620
- );
621
- configOptions.pythonPath = commandLineOptions.pythonPath;
622
- }
623
-
624
- // The pythonPlatform and pythonVersion from the command-line can be overridden
625
- // by the config file, so initialize them upfront.
626
- configOptions.defaultPythonPlatform = commandLineOptions.pythonPlatform;
627
- configOptions.defaultPythonVersion = commandLineOptions.pythonVersion;
628
- configOptions.ensureDefaultExtraPaths(
629
- this._fs,
630
- commandLineOptions.autoSearchPaths || false,
631
- commandLineOptions.extraPaths
632
- );
633
-
634
- if (commandLineOptions.fileSpecs.length > 0) {
635
- commandLineOptions.fileSpecs.forEach((fileSpec) => {
636
- configOptions.include.push(getFileSpec(this._fs, projectRoot, fileSpec));
637
- });
638
- } else if (!configFilePath) {
639
- // If no config file was found and there are no explicit include
640
- // paths specified, assume the caller wants to include all source
641
- // files under the execution root path.
642
- if (commandLineOptions.executionRoot) {
643
- configOptions.include.push(getFileSpec(this._fs, commandLineOptions.executionRoot, '.'));
644
-
645
- // Add a few common excludes to avoid long scan times.
646
- defaultExcludes.forEach((exclude) => {
647
- configOptions.exclude.push(getFileSpec(this._fs, commandLineOptions.executionRoot, exclude));
648
- });
649
- }
650
- }
651
-
652
- this._configFilePath = configFilePath || pyprojectFilePath;
653
-
654
- // If we found a config file, parse it to compute the effective options.
655
- let configJsonObj: object | undefined;
656
- if (configFilePath) {
657
- this._console.info(`Loading configuration file at ${configFilePath}`);
658
- configJsonObj = this._parseJsonConfigFile(configFilePath);
659
- } else if (pyprojectFilePath) {
660
- this._console.info(`Loading pyproject.toml file at ${pyprojectFilePath}`);
661
- configJsonObj = this._parsePyprojectTomlFile(pyprojectFilePath);
662
- }
663
-
664
- if (configJsonObj) {
665
- configOptions.initializeFromJson(
666
- configJsonObj,
667
- this._typeCheckingMode,
668
- this._console,
669
- this._fs,
670
- host,
671
- commandLineOptions.diagnosticSeverityOverrides,
672
- commandLineOptions.fileSpecs.length > 0
673
- );
674
-
675
- const configFileDir = getDirectoryPath(this._configFilePath!);
676
-
677
- // If no include paths were provided, assume that all files within
678
- // the project should be included.
679
- if (configOptions.include.length === 0) {
680
- this._console.info(`No include entries specified; assuming ${configFileDir}`);
681
- configOptions.include.push(getFileSpec(this._fs, configFileDir, '.'));
682
- }
683
-
684
- // If there was no explicit set of excludes, add a few common ones to avoid long scan times.
685
- if (configOptions.exclude.length === 0) {
686
- defaultExcludes.forEach((exclude) => {
687
- this._console.info(`Auto-excluding ${exclude}`);
688
- configOptions.exclude.push(getFileSpec(this._fs, configFileDir, exclude));
689
- });
690
-
691
- if (configOptions.autoExcludeVenv === undefined) {
692
- configOptions.autoExcludeVenv = true;
693
- }
694
- }
695
- } else {
696
- configOptions.autoExcludeVenv = true;
697
- configOptions.applyDiagnosticOverrides(commandLineOptions.diagnosticSeverityOverrides);
698
- }
699
-
700
- configOptions.analyzeUnannotatedFunctions = commandLineOptions.analyzeUnannotatedFunctions ?? true;
701
-
702
- const reportDuplicateSetting = (settingName: string, configValue: number | string | boolean) => {
703
- const settingSource = commandLineOptions.fromVsCodeExtension
704
- ? 'the client settings'
705
- : 'a command-line option';
706
- this._console.warn(
707
- `The ${settingName} has been specified in both the config file and ` +
708
- `${settingSource}. The value in the config file (${configValue}) ` +
709
- `will take precedence`
710
- );
711
- };
712
-
713
- // Apply the command-line options if the corresponding
714
- // item wasn't already set in the config file. Report any
715
- // duplicates.
716
- if (commandLineOptions.venvPath) {
717
- if (!configOptions.venvPath) {
718
- configOptions.venvPath = commandLineOptions.venvPath;
719
- } else {
720
- reportDuplicateSetting('venvPath', configOptions.venvPath);
721
- }
722
- }
723
-
724
- if (commandLineOptions.typeshedPath) {
725
- if (!configOptions.typeshedPath) {
726
- configOptions.typeshedPath = commandLineOptions.typeshedPath;
727
- } else {
728
- reportDuplicateSetting('typeshedPath', configOptions.typeshedPath);
729
- }
730
- }
731
-
732
- configOptions.verboseOutput = commandLineOptions.verboseOutput ?? configOptions.verboseOutput;
733
- configOptions.checkOnlyOpenFiles = !!commandLineOptions.checkOnlyOpenFiles;
734
- configOptions.autoImportCompletions = !!commandLineOptions.autoImportCompletions;
735
- configOptions.indexing = !!commandLineOptions.indexing;
736
- configOptions.logTypeEvaluationTime = !!commandLineOptions.logTypeEvaluationTime;
737
- configOptions.typeEvaluationTimeThreshold = commandLineOptions.typeEvaluationTimeThreshold;
738
-
739
- // If useLibraryCodeForTypes was not specified in the config, allow the settings
740
- // or command line to override it.
741
- if (configOptions.useLibraryCodeForTypes === undefined) {
742
- configOptions.useLibraryCodeForTypes = !!commandLineOptions.useLibraryCodeForTypes;
743
- } else if (commandLineOptions.useLibraryCodeForTypes !== undefined) {
744
- reportDuplicateSetting('useLibraryCodeForTypes', configOptions.useLibraryCodeForTypes);
745
- }
746
-
747
- // If there was no stub path specified, use a default path.
748
- if (commandLineOptions.stubPath) {
749
- if (!configOptions.stubPath) {
750
- configOptions.stubPath = commandLineOptions.stubPath;
751
- } else {
752
- reportDuplicateSetting('stubPath', configOptions.stubPath);
753
- }
754
- } else {
755
- if (!configOptions.stubPath) {
756
- configOptions.stubPath = normalizePath(combinePaths(configOptions.projectRoot, 'typings'));
757
- }
758
- }
759
-
760
- // Do some sanity checks on the specified settings and report missing
761
- // or inconsistent information.
762
- if (configOptions.venvPath) {
763
- if (!this._fs.existsSync(configOptions.venvPath) || !isDirectory(this._fs, configOptions.venvPath)) {
764
- this._console.error(`venvPath ${configOptions.venvPath} is not a valid directory.`);
765
- }
766
-
767
- // venvPath without venv means it won't do anything while resolveImport.
768
- // so first, try to set venv from existing configOption if it is null. if both are null,
769
- // then, resolveImport won't consider venv
770
- configOptions.venv = configOptions.venv ?? this._configOptions.venv;
771
- if (configOptions.venv) {
772
- const fullVenvPath = combinePaths(configOptions.venvPath, configOptions.venv);
773
-
774
- if (!this._fs.existsSync(fullVenvPath) || !isDirectory(this._fs, fullVenvPath)) {
775
- this._console.error(
776
- `venv ${configOptions.venv} subdirectory not found in venv path ${configOptions.venvPath}.`
777
- );
778
- } else {
779
- const importFailureInfo: string[] = [];
780
- if (findPythonSearchPaths(this._fs, configOptions, host, importFailureInfo) === undefined) {
781
- this._console.error(
782
- `site-packages directory cannot be located for venvPath ` +
783
- `${configOptions.venvPath} and venv ${configOptions.venv}.`
784
- );
785
-
786
- if (configOptions.verboseOutput) {
787
- importFailureInfo.forEach((diag) => {
788
- this._console.error(` ${diag}`);
789
- });
790
- }
791
- }
792
- }
793
- }
794
- }
795
-
796
- // Is there a reference to a venv? If so, there needs to be a valid venvPath.
797
- if (configOptions.venv) {
798
- if (!configOptions.venvPath) {
799
- this._console.warn(`venvPath not specified, so venv settings will be ignored.`);
800
- }
801
- }
802
-
803
- if (configOptions.typeshedPath) {
804
- if (
805
- !this._fs.existsSync(configOptions.typeshedPath) ||
806
- !isDirectory(this._fs, configOptions.typeshedPath)
807
- ) {
808
- this._console.error(`typeshedPath ${configOptions.typeshedPath} is not a valid directory.`);
809
- }
810
- }
811
-
812
- if (configOptions.stubPath) {
813
- if (!this._fs.existsSync(configOptions.stubPath) || !isDirectory(this._fs, configOptions.stubPath)) {
814
- this._console.warn(`stubPath ${configOptions.stubPath} is not a valid directory.`);
815
- }
816
- }
817
-
818
- return configOptions;
819
- }
820
-
821
- writeTypeStub(token: CancellationToken): void {
822
- const typingsSubdirPath = this._getTypeStubFolder();
823
-
824
- this._program.writeTypeStub(
825
- this._typeStubTargetPath ?? '',
826
- this._typeStubTargetIsSingleFile,
827
- typingsSubdirPath,
828
- token
829
- );
830
- }
831
-
832
- writeTypeStubInBackground(token: CancellationToken): Promise<any> {
833
- const typingsSubdirPath = this._getTypeStubFolder();
834
-
835
- return this._backgroundAnalysisProgram.writeTypeStub(
836
- this._typeStubTargetPath ?? '',
837
- this._typeStubTargetIsSingleFile,
838
- typingsSubdirPath,
839
- token
840
- );
841
- }
842
-
843
- // This is called after a new type stub has been created. It allows
844
- // us to invalidate caches and force reanalysis of files that potentially
845
- // are affected by the appearance of a new type stub.
846
- invalidateAndForceReanalysis(
847
- rebuildUserFileIndexing = true,
848
- rebuildLibraryIndexing = true,
849
- updateTrackedFileList = false
850
- ) {
851
- if (updateTrackedFileList) {
852
- this._updateTrackedFileList(/* markFilesDirtyUnconditionally */ false);
853
- }
854
-
855
- // Mark all files with one or more errors dirty.
856
- this._backgroundAnalysisProgram.invalidateAndForceReanalysis(rebuildUserFileIndexing, rebuildLibraryIndexing);
857
- }
858
-
859
- // Forces the service to stop all analysis, discard all its caches,
860
- // and research for files.
861
- restart() {
862
- this._applyConfigOptions(this._hostFactory());
863
-
864
- this._backgroundAnalysisProgram.restart();
865
- }
866
-
867
- private get _fs() {
868
- return this._backgroundAnalysisProgram.importResolver.fileSystem;
869
- }
870
-
871
- private get _program() {
872
- return this._backgroundAnalysisProgram.program;
873
- }
874
-
875
- private get _configOptions() {
876
- return this._backgroundAnalysisProgram.configOptions;
877
- }
878
-
879
- private get _watchForSourceChanges() {
880
- return !!this._commandLineOptions?.watchForSourceChanges;
881
- }
882
-
883
- private get _watchForLibraryChanges() {
884
- return !!this._commandLineOptions?.watchForLibraryChanges;
885
- }
886
-
887
- private get _watchForConfigChanges() {
888
- return !!this._commandLineOptions?.watchForConfigChanges;
889
- }
890
-
891
- private get _typeCheckingMode() {
892
- return this._commandLineOptions?.typeCheckingMode;
893
- }
894
-
895
- private get _verboseOutput(): boolean {
896
- return !!this._configOptions.verboseOutput;
897
- }
898
-
899
- private get _typeStubTargetImportName() {
900
- return this._commandLineOptions?.typeStubTargetImportName;
901
- }
902
-
903
- private _getTypeStubFolder() {
904
- const stubPath = this._configOptions.stubPath;
905
- if (!this._typeStubTargetPath || !this._typeStubTargetImportName) {
906
- const errMsg = `Import '${this._typeStubTargetImportName}'` + ` could not be resolved`;
907
- this._console.error(errMsg);
908
- throw new Error(errMsg);
909
- }
910
-
911
- if (!stubPath) {
912
- // We should never get here because we always generate a
913
- // default typings path if none was specified.
914
- const errMsg = 'No typings path was specified';
915
- this._console.info(errMsg);
916
- throw new Error(errMsg);
917
- }
918
-
919
- const typeStubInputTargetParts = this._typeStubTargetImportName.split('.');
920
- if (typeStubInputTargetParts[0].length === 0) {
921
- // We should never get here because the import resolution
922
- // would have failed.
923
- const errMsg = `Import '${this._typeStubTargetImportName}'` + ` could not be resolved`;
924
- this._console.error(errMsg);
925
- throw new Error(errMsg);
926
- }
927
-
928
- try {
929
- // Generate a new typings directory if necessary.
930
- if (!this._fs.existsSync(stubPath)) {
931
- this._fs.mkdirSync(stubPath);
932
- }
933
- } catch (e: any) {
934
- const errMsg = `Could not create typings directory '${stubPath}'`;
935
- this._console.error(errMsg);
936
- throw new Error(errMsg);
937
- }
938
-
939
- // Generate a typings subdirectory hierarchy.
940
- const typingsSubdirPath = combinePaths(stubPath, typeStubInputTargetParts[0]);
941
- const typingsSubdirHierarchy = combinePaths(stubPath, ...typeStubInputTargetParts);
942
-
943
- try {
944
- // Generate a new typings subdirectory if necessary.
945
- if (!this._fs.existsSync(typingsSubdirHierarchy)) {
946
- makeDirectories(this._fs, typingsSubdirHierarchy, stubPath);
947
- }
948
- } catch (e: any) {
949
- const errMsg = `Could not create typings subdirectory '${typingsSubdirHierarchy}'`;
950
- this._console.error(errMsg);
951
- throw new Error(errMsg);
952
- }
953
-
954
- return typingsSubdirPath;
955
- }
956
-
957
- private _findConfigFileHereOrUp(searchPath: string): string | undefined {
958
- return forEachAncestorDirectory(searchPath, (ancestor) => this._findConfigFile(ancestor));
959
- }
960
-
961
- private _findConfigFile(searchPath: string): string | undefined {
962
- for (const name of configFileNames) {
963
- const fileName = combinePaths(searchPath, name);
964
- if (this._fs.existsSync(fileName)) {
965
- return fileName;
966
- }
967
- }
968
- return undefined;
969
- }
970
-
971
- private _findPyprojectTomlFileHereOrUp(searchPath: string): string | undefined {
972
- return forEachAncestorDirectory(searchPath, (ancestor) => this._findPyprojectTomlFile(ancestor));
973
- }
974
-
975
- private _findPyprojectTomlFile(searchPath: string) {
976
- const fileName = combinePaths(searchPath, pyprojectTomlName);
977
- if (this._fs.existsSync(fileName)) {
978
- return fileName;
979
- }
980
- return undefined;
981
- }
982
-
983
- private _parseJsonConfigFile(configPath: string): object | undefined {
984
- return this._attemptParseFile(configPath, (fileContents) => {
985
- return JSONC.parse(fileContents);
986
- });
987
- }
988
-
989
- private _parsePyprojectTomlFile(pyprojectPath: string): object | undefined {
990
- return this._attemptParseFile(pyprojectPath, (fileContents, attemptCount) => {
991
- try {
992
- const configObj = TOML.parse(fileContents);
993
- if (configObj && configObj.tool && (configObj.tool as TOML.JsonMap).pyright) {
994
- return (configObj.tool as TOML.JsonMap).pyright as object;
995
- }
996
- } catch (e: any) {
997
- this._console.error(`Pyproject file parse attempt ${attemptCount} error: ${JSON.stringify(e)}`);
998
- throw e;
999
- }
1000
-
1001
- this._console.error(`Pyproject file "${pyprojectPath}" is missing "[tool.pyright]" section.`);
1002
- return undefined;
1003
- });
1004
- }
1005
-
1006
- private _attemptParseFile(
1007
- filePath: string,
1008
- parseCallback: (contents: string, attempt: number) => object | undefined
1009
- ): object | undefined {
1010
- let fileContents = '';
1011
- let parseAttemptCount = 0;
1012
-
1013
- while (true) {
1014
- // Attempt to read the file contents.
1015
- try {
1016
- fileContents = this._fs.readFileSync(filePath, 'utf8');
1017
- } catch {
1018
- this._console.error(`Config file "${filePath}" could not be read.`);
1019
- this._reportConfigParseError();
1020
- return undefined;
1021
- }
1022
-
1023
- // Attempt to parse the file.
1024
- let parseFailed = false;
1025
- try {
1026
- return parseCallback(fileContents, parseAttemptCount + 1);
1027
- } catch (e: any) {
1028
- parseFailed = true;
1029
- }
1030
-
1031
- if (!parseFailed) {
1032
- break;
1033
- }
1034
-
1035
- // If we attempt to read the file immediately after it was saved, it
1036
- // may have been partially written when we read it, resulting in parse
1037
- // errors. We'll give it a little more time and try again.
1038
- if (parseAttemptCount++ >= 5) {
1039
- this._console.error(`Config file "${filePath}" could not be parsed. Verify that format is correct.`);
1040
- this._reportConfigParseError();
1041
- return undefined;
1042
- }
1043
- }
1044
-
1045
- return undefined;
1046
- }
1047
-
1048
- private _getFileNamesFromFileSpecs(): string[] {
1049
- // Use a map to generate a list of unique files.
1050
- const fileMap = new Map<string, string>();
1051
-
1052
- timingStats.findFilesTime.timeOperation(() => {
1053
- const matchedFiles = this._matchFiles(this._configOptions.include, this._configOptions.exclude);
1054
-
1055
- for (const file of matchedFiles) {
1056
- fileMap.set(file, file);
1057
- }
1058
- });
1059
-
1060
- return [...fileMap.values()];
1061
- }
1062
-
1063
- // If markFilesDirtyUnconditionally is true, we need to reparse
1064
- // and reanalyze all files in the program. If false, we will
1065
- // reparse and reanalyze only those files whose on-disk contents
1066
- // have changed. Unconditional dirtying is needed in the case where
1067
- // configuration options have changed.
1068
- private _updateTrackedFileList(markFilesDirtyUnconditionally: boolean) {
1069
- // Are we in type stub generation mode? If so, we need to search
1070
- // for a different set of files.
1071
- if (this._typeStubTargetImportName) {
1072
- const execEnv = this._configOptions.findExecEnvironment(this._executionRootPath);
1073
- const moduleDescriptor = createImportedModuleDescriptor(this._typeStubTargetImportName);
1074
- const importResult = this._backgroundAnalysisProgram.importResolver.resolveImport(
1075
- '',
1076
- execEnv,
1077
- moduleDescriptor
1078
- );
1079
-
1080
- if (importResult.isImportFound) {
1081
- const filesToImport: string[] = [];
1082
-
1083
- // Determine the directory that contains the root package.
1084
- const finalResolvedPath = importResult.resolvedPaths[importResult.resolvedPaths.length - 1];
1085
- const isFinalPathFile = isFile(this._fs, finalResolvedPath);
1086
- const isFinalPathInitFile =
1087
- isFinalPathFile && stripFileExtension(getFileName(finalResolvedPath)) === '__init__';
1088
-
1089
- let rootPackagePath = finalResolvedPath;
1090
-
1091
- if (isFinalPathFile) {
1092
- // If the module is a __init__.pyi? file, use its parent directory instead.
1093
- rootPackagePath = getDirectoryPath(rootPackagePath);
1094
- }
1095
-
1096
- for (let i = importResult.resolvedPaths.length - 2; i >= 0; i--) {
1097
- if (importResult.resolvedPaths[i]) {
1098
- rootPackagePath = importResult.resolvedPaths[i];
1099
- } else {
1100
- // If there was no file corresponding to this portion
1101
- // of the name path, assume that it's contained
1102
- // within its parent directory.
1103
- rootPackagePath = getDirectoryPath(rootPackagePath);
1104
- }
1105
- }
1106
-
1107
- if (isDirectory(this._fs, rootPackagePath)) {
1108
- this._typeStubTargetPath = rootPackagePath;
1109
- } else if (isFile(this._fs, rootPackagePath)) {
1110
- // This can occur if there is a "dir/__init__.py" at the same level as a
1111
- // module "dir/module.py" that is specifically targeted for stub generation.
1112
- this._typeStubTargetPath = getDirectoryPath(rootPackagePath);
1113
- }
1114
-
1115
- if (!finalResolvedPath) {
1116
- this._typeStubTargetIsSingleFile = false;
1117
- } else {
1118
- filesToImport.push(finalResolvedPath);
1119
- this._typeStubTargetIsSingleFile = importResult.resolvedPaths.length === 1 && !isFinalPathInitFile;
1120
- }
1121
-
1122
- // Add the implicit import paths.
1123
- importResult.filteredImplicitImports.forEach((implicitImport) => {
1124
- filesToImport.push(implicitImport.path);
1125
- });
1126
-
1127
- this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]);
1128
- this._backgroundAnalysisProgram.setTrackedFiles(filesToImport);
1129
- } else {
1130
- this._console.error(`Import '${this._typeStubTargetImportName}' not found`);
1131
- }
1132
- } else {
1133
- let fileList: string[] = [];
1134
- this._console.info(`Searching for source files`);
1135
- fileList = this._getFileNamesFromFileSpecs();
1136
-
1137
- this._backgroundAnalysisProgram.setTrackedFiles(fileList);
1138
- this._backgroundAnalysisProgram.markAllFilesDirty(markFilesDirtyUnconditionally);
1139
-
1140
- if (fileList.length === 0) {
1141
- this._console.info(`No source files found.`);
1142
- } else {
1143
- this._console.info(`Found ${fileList.length} ` + `source ${fileList.length === 1 ? 'file' : 'files'}`);
1144
- }
1145
- }
1146
-
1147
- this._requireTrackedFileUpdate = false;
1148
- }
1149
-
1150
- private _matchFiles(include: FileSpec[], exclude: FileSpec[]): string[] {
1151
- const envMarkers = [['bin', 'activate'], ['Scripts', 'activate'], ['pyvenv.cfg']];
1152
- const results: string[] = [];
1153
- const startTime = Date.now();
1154
- const longOperationLimitInSec = 10;
1155
- let loggedLongOperationError = false;
1156
-
1157
- const visitDirectoryUnchecked = (absolutePath: string, includeRegExp: RegExp) => {
1158
- if (!loggedLongOperationError) {
1159
- const secondsSinceStart = (Date.now() - startTime) * 0.001;
1160
-
1161
- // If this is taking a long time, log an error to help the user
1162
- // diagnose and mitigate the problem.
1163
- if (secondsSinceStart >= longOperationLimitInSec) {
1164
- this._console.error(
1165
- `Enumeration of workspace source files is taking longer than ${longOperationLimitInSec} seconds.\n` +
1166
- 'This may be because:\n' +
1167
- '* You have opened your home directory or entire hard drive as a workspace\n' +
1168
- '* Your workspace contains a very large number of directories and files\n' +
1169
- '* Your workspace contains a symlink to a directory with many files\n' +
1170
- '* Your workspace is remote, and file enumeration is slow\n' +
1171
- 'To reduce this time, open a workspace directory with fewer files ' +
1172
- 'or add a pyrightconfig.json configuration file with an "exclude" section to exclude ' +
1173
- 'subdirectories from your workspace. For more details, refer to ' +
1174
- 'https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'
1175
- );
1176
- loggedLongOperationError = true;
1177
- }
1178
- }
1179
-
1180
- if (this._configOptions.autoExcludeVenv) {
1181
- if (envMarkers.some((f) => this._fs.existsSync(combinePaths(absolutePath, ...f)))) {
1182
- this._console.info(`Auto-excluding ${absolutePath}`);
1183
- return;
1184
- }
1185
- }
1186
-
1187
- const { files, directories } = getFileSystemEntries(this._fs, absolutePath);
1188
-
1189
- for (const file of files) {
1190
- const filePath = combinePaths(absolutePath, file);
1191
-
1192
- if (this._matchIncludeFileSpec(includeRegExp, exclude, filePath)) {
1193
- results.push(filePath);
1194
- }
1195
- }
1196
-
1197
- for (const directory of directories) {
1198
- const dirPath = combinePaths(absolutePath, directory);
1199
- if (includeRegExp.test(dirPath)) {
1200
- if (!this._isInExcludePath(dirPath, exclude)) {
1201
- visitDirectory(dirPath, includeRegExp);
1202
- }
1203
- }
1204
- }
1205
- };
1206
-
1207
- const seenDirs = new Set<string>();
1208
- const visitDirectory = (absolutePath: string, includeRegExp: RegExp) => {
1209
- const realDirPath = tryRealpath(this._fs, absolutePath);
1210
- if (!realDirPath) {
1211
- this._console.warn(`Skipping broken link "${absolutePath}"`);
1212
- return;
1213
- }
1214
-
1215
- if (seenDirs.has(realDirPath)) {
1216
- this._console.warn(`Skipping recursive symlink "${absolutePath}" -> "${realDirPath}"`);
1217
- return;
1218
- }
1219
- seenDirs.add(realDirPath);
1220
-
1221
- try {
1222
- visitDirectoryUnchecked(absolutePath, includeRegExp);
1223
- } finally {
1224
- seenDirs.delete(realDirPath);
1225
- }
1226
- };
1227
-
1228
- include.forEach((includeSpec) => {
1229
- if (!this._isInExcludePath(includeSpec.wildcardRoot, exclude)) {
1230
- let foundFileSpec = false;
1231
- let isFileIncluded = true;
1232
-
1233
- const stat = tryStat(this._fs, includeSpec.wildcardRoot);
1234
- if (stat?.isFile()) {
1235
- if (this._shouldIncludeFile(includeSpec.wildcardRoot)) {
1236
- results.push(includeSpec.wildcardRoot);
1237
- } else {
1238
- isFileIncluded = false;
1239
- }
1240
- foundFileSpec = true;
1241
- } else if (stat?.isDirectory()) {
1242
- visitDirectory(includeSpec.wildcardRoot, includeSpec.regExp);
1243
- foundFileSpec = true;
1244
- }
1245
-
1246
- if (!foundFileSpec) {
1247
- this._console.error(`File or directory "${includeSpec.wildcardRoot}" does not exist.`);
1248
- } else if (!isFileIncluded) {
1249
- this._console.error(`File "${includeSpec.wildcardRoot}" is not a Python source file.`);
1250
- }
1251
- }
1252
- });
1253
-
1254
- return results;
1255
- }
1256
-
1257
- private _removeSourceFileWatchers() {
1258
- if (this._sourceFileWatcher) {
1259
- this._sourceFileWatcher.close();
1260
- this._sourceFileWatcher = undefined;
1261
- }
1262
- }
1263
-
1264
- private _updateSourceFileWatchers() {
1265
- this._removeSourceFileWatchers();
1266
-
1267
- if (!this._watchForSourceChanges) {
1268
- return;
1269
- }
1270
-
1271
- if (this._configOptions.include.length > 0) {
1272
- const fileList = this._configOptions.include.map((spec) => {
1273
- return combinePaths(this._executionRootPath, spec.wildcardRoot);
1274
- });
1275
-
1276
- try {
1277
- if (this._verboseOutput) {
1278
- this._console.info(`Adding fs watcher for directories:\n ${fileList.join('\n')}`);
1279
- }
1280
-
1281
- const isIgnored = ignoredWatchEventFunction(fileList);
1282
- this._sourceFileWatcher = this._fs.createFileSystemWatcher(fileList, (event, path) => {
1283
- if (!path) {
1284
- return;
1285
- }
1286
-
1287
- if (this._verboseOutput) {
1288
- this._console.info(`SourceFile: Received fs event '${event}' for path '${path}'`);
1289
- }
1290
-
1291
- if (isIgnored(path)) {
1292
- return;
1293
- }
1294
-
1295
- // Wholesale ignore events that appear to be from tmp file / .git modification.
1296
- if (path.endsWith('.tmp') || path.endsWith('.git') || path.includes(_gitDirectory)) {
1297
- return;
1298
- }
1299
-
1300
- const eventInfo = getEventInfo(this._fs, this._console, this._program, event, path);
1301
- if (!eventInfo) {
1302
- // no-op event, return.
1303
- return;
1304
- }
1305
-
1306
- // For file change, we only care python file change.
1307
- if (
1308
- eventInfo.isFile &&
1309
- (!hasPythonExtension(path) || isTemporaryFile(path) || !this.isTracked(path))
1310
- ) {
1311
- return;
1312
- }
1313
-
1314
- if (eventInfo.isFile && (eventInfo.event === 'change' || eventInfo.event === 'unlink')) {
1315
- this._backgroundAnalysisProgram.markFilesDirty([path], /* evenIfContentsAreSame */ false);
1316
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
1317
- } else {
1318
- // Added files or folder changes impact imports,
1319
- // clear the import resolver cache and reanalyze everything.
1320
- //
1321
- // Here we don't need to rebuild any indexing since this kind of change can't affect
1322
- // indices. For library, since the changes are on workspace files, it won't affect library
1323
- // indices. For user file, since user file indices don't contains import alias symbols,
1324
- // it won't affect those indices. we only need to rebuild user file indices when symbols
1325
- // defined in the file are changed. ex) user modified the file.
1326
- // Newly added file will be scanned since it doesn't have existing indices.
1327
- this.invalidateAndForceReanalysis(
1328
- /* rebuildUserFileIndexing */ false,
1329
- /* rebuildLibraryIndexing */ false
1330
- );
1331
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ true);
1332
- }
1333
- });
1334
- } catch {
1335
- this._console.error(`Exception caught when installing fs watcher for:\n ${fileList.join('\n')}`);
1336
- }
1337
- }
1338
-
1339
- function isTemporaryFile(path: string) {
1340
- // Determine if this is an add or delete event related to a temporary
1341
- // file. Some tools (like auto-formatters) create temporary files
1342
- // alongside the original file and name them "x.py.<temp-id>.py" where
1343
- // <temp-id> is a 32-character random string of hex digits. We don't
1344
- // want these events to trigger a full reanalysis.
1345
- const fileName = getFileName(path);
1346
- const fileNameSplit = fileName.split('.');
1347
- if (fileNameSplit.length === 4) {
1348
- if (fileNameSplit[3] === fileNameSplit[1] && fileNameSplit[2].length === 32) {
1349
- return true;
1350
- }
1351
- }
1352
-
1353
- return false;
1354
- }
1355
-
1356
- function getEventInfo(
1357
- fs: FileSystem,
1358
- console: ConsoleInterface,
1359
- program: Program,
1360
- event: FileWatcherEventType,
1361
- path: string
1362
- ) {
1363
- // Due to the way we implemented file watcher, we will only get 2 events; 'add' and 'change'.
1364
- // Here, we will convert those 2 to 3 events. 'add', 'change' and 'unlink';
1365
- const stats = tryStat(fs, path);
1366
- if (event === 'add') {
1367
- if (!stats) {
1368
- // If we are told that the path is added, but if we can't access it, then consider it as already deleted.
1369
- // there is nothing we need to do.
1370
- return undefined;
1371
- }
1372
-
1373
- return { event, isFile: stats.isFile() };
1374
- }
1375
-
1376
- if (event === 'change') {
1377
- // If we got 'change', but can't access the path, then we consider it as delete.
1378
- if (!stats) {
1379
- // See whether it is a file that got deleted.
1380
- const isFile = !!program.getSourceFile(path);
1381
-
1382
- // If not, check whether it is a part of the workspace at all.
1383
- if (!isFile && !program.containsSourceFileIn(path)) {
1384
- // There is no source file under the given path. There is nothing we need to do.
1385
- return undefined;
1386
- }
1387
-
1388
- return { event: 'unlink', isFile };
1389
- }
1390
-
1391
- return { event, isFile: stats.isFile() };
1392
- }
1393
-
1394
- // We have unknown event.
1395
- console.warn(`Received unknown file change event: '${event}' for '${path}'`);
1396
- return undefined;
1397
- }
1398
- }
1399
-
1400
- private _removeLibraryFileWatcher() {
1401
- if (this._libraryFileWatcher) {
1402
- this._libraryFileWatcher.close();
1403
- this._libraryFileWatcher = undefined;
1404
- }
1405
- }
1406
-
1407
- private _updateLibraryFileWatcher() {
1408
- this._removeLibraryFileWatcher();
1409
-
1410
- if (!this._watchForLibraryChanges) {
1411
- return;
1412
- }
1413
-
1414
- // Watch the library paths for package install/uninstall.
1415
- const importFailureInfo: string[] = [];
1416
- this._librarySearchPathsToWatch = findPythonSearchPaths(
1417
- this._fs,
1418
- this._backgroundAnalysisProgram.configOptions,
1419
- this._backgroundAnalysisProgram.host,
1420
- importFailureInfo,
1421
- true,
1422
- this._executionRootPath
1423
- );
1424
-
1425
- const watchList = this._librarySearchPathsToWatch;
1426
- if (watchList && watchList.length > 0) {
1427
- try {
1428
- if (this._verboseOutput) {
1429
- this._console.info(`Adding fs watcher for library directories:\n ${watchList.join('\n')}`);
1430
- }
1431
- const isIgnored = ignoredWatchEventFunction(watchList);
1432
- this._libraryFileWatcher = this._fs.createFileSystemWatcher(watchList, (event, path) => {
1433
- if (!path) {
1434
- return;
1435
- }
1436
-
1437
- if (this._verboseOutput) {
1438
- this._console.info(`LibraryFile: Received fs event '${event}' for path '${path}'`);
1439
- }
1440
-
1441
- if (isIgnored(path)) {
1442
- return;
1443
- }
1444
-
1445
- this._scheduleLibraryAnalysis();
1446
- });
1447
- } catch {
1448
- this._console.error(`Exception caught when installing fs watcher for:\n ${watchList.join('\n')}`);
1449
- }
1450
- }
1451
- }
1452
-
1453
- private _clearLibraryReanalysisTimer() {
1454
- if (this._libraryReanalysisTimer) {
1455
- clearTimeout(this._libraryReanalysisTimer);
1456
- this._libraryReanalysisTimer = undefined;
1457
- this._backgroundAnalysisProgram?.cancelIndexing();
1458
- }
1459
- }
1460
-
1461
- private _scheduleLibraryAnalysis() {
1462
- if (this._disposed) {
1463
- // Already disposed.
1464
- return;
1465
- }
1466
-
1467
- this._clearLibraryReanalysisTimer();
1468
-
1469
- // Wait for a little while, since library changes
1470
- // tend to happen in big batches when packages
1471
- // are installed or uninstalled.
1472
- this._libraryReanalysisTimer = setTimeout(() => {
1473
- this._clearLibraryReanalysisTimer();
1474
-
1475
- // Invalidate import resolver, mark all files dirty unconditionally,
1476
- // and reanalyze.
1477
- this.invalidateAndForceReanalysis(/* rebuildUserFileIndexing */ false);
1478
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
1479
- }, _libraryActivityBackoffTimeInMs);
1480
- }
1481
-
1482
- private _removeConfigFileWatcher() {
1483
- if (this._configFileWatcher) {
1484
- this._configFileWatcher.close();
1485
- this._configFileWatcher = undefined;
1486
- }
1487
- }
1488
-
1489
- private _updateConfigFileWatcher() {
1490
- this._removeConfigFileWatcher();
1491
-
1492
- if (!this._watchForConfigChanges) {
1493
- return;
1494
- }
1495
-
1496
- if (this._configFilePath) {
1497
- this._configFileWatcher = this._fs.createFileSystemWatcher([this._configFilePath], (event) => {
1498
- if (this._verboseOutput) {
1499
- this._console.info(`Received fs event '${event}' for config file`);
1500
- }
1501
- this._scheduleReloadConfigFile();
1502
- });
1503
- } else if (this._executionRootPath) {
1504
- this._configFileWatcher = this._fs.createFileSystemWatcher([this._executionRootPath], (event, path) => {
1505
- if (!path) {
1506
- return;
1507
- }
1508
-
1509
- if (event === 'add' || event === 'change') {
1510
- const fileName = getFileName(path);
1511
- if (fileName && configFileNames.some((name) => name === fileName)) {
1512
- if (this._verboseOutput) {
1513
- this._console.info(`Received fs event '${event}' for config file`);
1514
- }
1515
- if (this._commandLineOptions) {
1516
- this.setOptions(this._commandLineOptions);
1517
- }
1518
- }
1519
- }
1520
- });
1521
- }
1522
- }
1523
-
1524
- private _clearReloadConfigTimer() {
1525
- if (this._reloadConfigTimer) {
1526
- clearTimeout(this._reloadConfigTimer);
1527
- this._reloadConfigTimer = undefined;
1528
- }
1529
- }
1530
-
1531
- private _scheduleReloadConfigFile() {
1532
- this._clearReloadConfigTimer();
1533
-
1534
- // Wait for a little while after we receive the
1535
- // change update event because it may take a while
1536
- // for the file to be written out. Plus, there may
1537
- // be multiple changes.
1538
- this._reloadConfigTimer = setTimeout(() => {
1539
- this._clearReloadConfigTimer();
1540
- this._reloadConfigFile();
1541
- }, 100);
1542
- }
1543
-
1544
- private _reloadConfigFile() {
1545
- this._updateConfigFileWatcher();
1546
-
1547
- if (this._configFilePath) {
1548
- this._console.info(`Reloading configuration file at ${this._configFilePath}`);
1549
-
1550
- const host = this._backgroundAnalysisProgram.host;
1551
-
1552
- // We can't just reload config file when it is changed; we need to consider
1553
- // command line options as well to construct new config Options.
1554
- const configOptions = this._getConfigOptions(host, this._commandLineOptions!);
1555
- this._backgroundAnalysisProgram.setConfigOptions(configOptions);
1556
-
1557
- this._applyConfigOptions(host);
1558
- }
1559
- }
1560
-
1561
- private _applyConfigOptions(host: Host) {
1562
- // Allocate a new import resolver because the old one has information
1563
- // cached based on the previous config options.
1564
- const importResolver = this._importResolverFactory(
1565
- this._fs,
1566
- this._backgroundAnalysisProgram.configOptions,
1567
- host
1568
- );
1569
-
1570
- this._backgroundAnalysisProgram.setImportResolver(importResolver);
1571
-
1572
- if (this._commandLineOptions?.fromVsCodeExtension || this._configOptions.verboseOutput) {
1573
- const logLevel = this._configOptions.verboseOutput ? LogLevel.Info : LogLevel.Log;
1574
- for (const execEnv of this._configOptions.getExecutionEnvironments()) {
1575
- log(this._console, logLevel, `Search paths for ${execEnv.root || '<default>'}`);
1576
- const roots = importResolver.getImportRoots(execEnv, /* forLogging */ true);
1577
- roots.forEach((path) => {
1578
- log(this._console, logLevel, ` ${path}`);
1579
- });
1580
- }
1581
- }
1582
-
1583
- this._updateLibraryFileWatcher();
1584
- this._updateConfigFileWatcher();
1585
- this._updateSourceFileWatchers();
1586
- this._updateTrackedFileList(/* markFilesDirtyUnconditionally */ true);
1587
-
1588
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
1589
- }
1590
-
1591
- private _clearReanalysisTimer() {
1592
- if (this._analyzeTimer) {
1593
- clearTimeout(this._analyzeTimer);
1594
- this._analyzeTimer = undefined;
1595
- }
1596
- }
1597
-
1598
- private _scheduleReanalysis(requireTrackedFileUpdate: boolean) {
1599
- if (this._disposed || !this._commandLineOptions?.enableAmbientAnalysis) {
1600
- // already disposed
1601
- return;
1602
- }
1603
-
1604
- if (requireTrackedFileUpdate) {
1605
- this._requireTrackedFileUpdate = true;
1606
- }
1607
-
1608
- this._backgroundAnalysisCancellationSource?.cancel();
1609
-
1610
- // Remove any existing analysis timer.
1611
- this._clearReanalysisTimer();
1612
-
1613
- // How long has it been since the user interacted with the service?
1614
- // If the user is actively typing, back off to let him or her finish.
1615
- const timeSinceLastUserInteractionInMs = Date.now() - this._lastUserInteractionTime;
1616
- const minBackoffTimeInMs = _userActivityBackoffTimeInMs;
1617
-
1618
- // We choose a small non-zero value here. If this value
1619
- // is too small (like zero), the VS Code extension becomes
1620
- // unresponsive during heavy analysis. If this number is too
1621
- // large, analysis takes longer.
1622
- const minTimeBetweenAnalysisPassesInMs = 20;
1623
-
1624
- const timeUntilNextAnalysisInMs = Math.max(
1625
- minBackoffTimeInMs - timeSinceLastUserInteractionInMs,
1626
- minTimeBetweenAnalysisPassesInMs
1627
- );
1628
-
1629
- // Schedule a new timer.
1630
- this._analyzeTimer = setTimeout(() => {
1631
- this._analyzeTimer = undefined;
1632
-
1633
- if (this._requireTrackedFileUpdate) {
1634
- this._updateTrackedFileList(/* markFilesDirtyUnconditionally */ false);
1635
- }
1636
-
1637
- // This creates a cancellation source only if it actually gets used.
1638
- this._backgroundAnalysisCancellationSource = this._cancellationProvider.createCancellationTokenSource();
1639
- const moreToAnalyze = this._backgroundAnalysisProgram.startAnalysis(
1640
- this._backgroundAnalysisCancellationSource.token
1641
- );
1642
- if (moreToAnalyze) {
1643
- this._scheduleReanalysis(/* requireTrackedFileUpdate */ false);
1644
- }
1645
- }, timeUntilNextAnalysisInMs);
1646
- }
1647
-
1648
- private _reportConfigParseError() {
1649
- if (this._onCompletionCallback) {
1650
- this._onCompletionCallback({
1651
- diagnostics: [],
1652
- filesInProgram: 0,
1653
- filesRequiringAnalysis: 0,
1654
- checkingOnlyOpenFiles: true,
1655
- fatalErrorOccurred: false,
1656
- configParseErrorOccurred: true,
1657
- elapsedTime: 0,
1658
- });
1659
- }
1660
- }
1661
-
1662
- private _shouldIncludeFile(filePath: string) {
1663
- return _includeFileRegex.test(filePath);
1664
- }
1665
-
1666
- private _isInExcludePath(path: string, excludePaths: FileSpec[]) {
1667
- return !!excludePaths.find((excl) => excl.regExp.test(path));
1668
- }
1669
-
1670
- private _matchIncludeFileSpec(includeRegExp: RegExp, exclude: FileSpec[], filePath: string) {
1671
- if (includeRegExp.test(filePath)) {
1672
- if (!this._isInExcludePath(filePath, exclude) && this._shouldIncludeFile(filePath)) {
1673
- return true;
1674
- }
1675
- }
1676
-
1677
- return false;
1678
- }
1679
- }