@zzzen/pyright-internal 1.1.255 → 1.2.0-beta

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 (1409) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  4. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  5. package/dist/analyzer/backgroundAnalysisProgram.js +3 -0
  6. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  7. package/dist/analyzer/binder.js +9 -2
  8. package/dist/analyzer/binder.js.map +1 -1
  9. package/dist/analyzer/checker.js +19 -26
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowUtils.js +33 -0
  12. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  13. package/dist/analyzer/dataClasses.js +6 -4
  14. package/dist/analyzer/dataClasses.js.map +1 -1
  15. package/dist/analyzer/declaration.js +11 -1
  16. package/dist/analyzer/declaration.js.map +1 -1
  17. package/dist/analyzer/importResult.js +7 -0
  18. package/dist/analyzer/importResult.js.map +1 -1
  19. package/dist/analyzer/importStatementUtils.js +10 -1
  20. package/dist/analyzer/importStatementUtils.js.map +1 -1
  21. package/dist/analyzer/namedTuples.js +1 -1
  22. package/dist/analyzer/namedTuples.js.map +1 -1
  23. package/dist/analyzer/packageTypeReport.js +10 -1
  24. package/dist/analyzer/packageTypeReport.js.map +1 -1
  25. package/dist/analyzer/parseTreeUtils.js +11 -2
  26. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  27. package/dist/analyzer/program.d.ts +2 -1
  28. package/dist/analyzer/program.js +27 -23
  29. package/dist/analyzer/program.js.map +1 -1
  30. package/dist/analyzer/protocols.js +3 -1
  31. package/dist/analyzer/protocols.js.map +1 -1
  32. package/dist/analyzer/scope.js +22 -1
  33. package/dist/analyzer/scope.js.map +1 -1
  34. package/dist/analyzer/service.d.ts +20 -8
  35. package/dist/analyzer/service.js +39 -19
  36. package/dist/analyzer/service.js.map +1 -1
  37. package/dist/analyzer/sourceFile.js +1 -1
  38. package/dist/analyzer/sourceFile.js.map +1 -1
  39. package/dist/analyzer/sourceFileInfoUtils.d.ts +2 -0
  40. package/dist/analyzer/sourceFileInfoUtils.js +15 -0
  41. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -0
  42. package/dist/analyzer/symbol.d.ts +3 -1
  43. package/dist/analyzer/symbol.js +39 -1
  44. package/dist/analyzer/symbol.js.map +1 -1
  45. package/dist/analyzer/typeDocStringUtils.js +10 -2
  46. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  47. package/dist/analyzer/typeEvaluator.js +86 -32
  48. package/dist/analyzer/typeEvaluator.js.map +1 -1
  49. package/dist/analyzer/typeEvaluatorTypes.d.ts +0 -1
  50. package/dist/analyzer/typeEvaluatorTypes.js +65 -1
  51. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  52. package/dist/analyzer/typeGuards.d.ts +2 -0
  53. package/dist/analyzer/typeGuards.js +113 -69
  54. package/dist/analyzer/typeGuards.js.map +1 -1
  55. package/dist/analyzer/typePrinter.js +23 -1
  56. package/dist/analyzer/typePrinter.js.map +1 -1
  57. package/dist/analyzer/typeUtils.js +119 -28
  58. package/dist/analyzer/typeUtils.js.map +1 -1
  59. package/dist/analyzer/typedDicts.js +2 -1
  60. package/dist/analyzer/typedDicts.js.map +1 -1
  61. package/dist/analyzer/types.d.ts +1 -0
  62. package/dist/analyzer/types.js +195 -1
  63. package/dist/analyzer/types.js.map +1 -1
  64. package/dist/backgroundAnalysisBase.d.ts +1 -1
  65. package/dist/commands/commands.js +9 -0
  66. package/dist/commands/commands.js.map +1 -1
  67. package/dist/common/commandLineOptions.js +8 -1
  68. package/dist/common/commandLineOptions.js.map +1 -1
  69. package/dist/common/core.js +7 -1
  70. package/dist/common/core.js.map +1 -1
  71. package/dist/common/diagnostic.js +9 -1
  72. package/dist/common/diagnostic.js.map +1 -1
  73. package/dist/common/host.js +7 -1
  74. package/dist/common/host.js.map +1 -1
  75. package/dist/common/pathUtils.d.ts +1 -0
  76. package/dist/common/pathUtils.js +34 -1
  77. package/dist/common/pathUtils.js.map +1 -1
  78. package/dist/common/stringUtils.d.ts +1 -0
  79. package/dist/common/stringUtils.js +8 -1
  80. package/dist/common/stringUtils.js.map +1 -1
  81. package/dist/languageServerBase.d.ts +10 -3
  82. package/dist/languageServerBase.js +40 -14
  83. package/dist/languageServerBase.js.map +1 -1
  84. package/dist/languageService/analyzerServiceExecutor.js +3 -0
  85. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  86. package/dist/languageService/autoImporter.js +2 -1
  87. package/dist/languageService/autoImporter.js.map +1 -1
  88. package/dist/languageService/completionProvider.d.ts +2 -2
  89. package/dist/languageService/completionProvider.js +3 -5
  90. package/dist/languageService/completionProvider.js.map +1 -1
  91. package/dist/parser/parseNodes.d.ts +3 -0
  92. package/dist/parser/parseNodes.js +110 -2
  93. package/dist/parser/parseNodes.js.map +1 -1
  94. package/dist/parser/parser.d.ts +0 -1
  95. package/dist/parser/parser.js +26 -12
  96. package/dist/parser/parser.js.map +1 -1
  97. package/dist/parser/stringTokenUtils.js +8 -1
  98. package/dist/parser/stringTokenUtils.js.map +1 -1
  99. package/dist/parser/tokenizerTypes.js +155 -1
  100. package/dist/parser/tokenizerTypes.js.map +1 -1
  101. package/dist/pyright.js +6 -1
  102. package/dist/pyright.js.map +1 -1
  103. package/dist/tests/chainedSourceFiles.test.js +12 -9
  104. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  105. package/dist/tests/checker.test.js +4 -0
  106. package/dist/tests/checker.test.js.map +1 -1
  107. package/dist/tests/config.test.js +14 -13
  108. package/dist/tests/config.test.js.map +1 -1
  109. package/dist/tests/debug.test.js +6 -0
  110. package/dist/tests/debug.test.js.map +1 -1
  111. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +1 -0
  112. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js +53 -0
  113. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -0
  114. package/dist/tests/fourslash/fourslash.d.ts +16 -0
  115. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +1 -0
  116. package/dist/tests/fourslash/hover.class.docString.fourslash.js +24 -0
  117. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -0
  118. package/dist/tests/harness/fourslash/fourSlashParser.js +6 -0
  119. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  120. package/dist/tests/harness/fourslash/fourSlashTypes.js +19 -1
  121. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  122. package/dist/tests/harness/fourslash/testLanguageService.js +9 -1
  123. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  124. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -0
  125. package/dist/tests/harness/fourslash/testState.Consts.js +1 -0
  126. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  127. package/dist/tests/harness/fourslash/testState.d.ts +4 -3
  128. package/dist/tests/harness/fourslash/testState.js +27 -11
  129. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  130. package/dist/tests/harness/vfs/pathValidation.js +25 -1
  131. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  132. package/dist/tests/pathUtils.test.js +17 -0
  133. package/dist/tests/pathUtils.test.js.map +1 -1
  134. package/dist/tests/testUtils.js +1 -1
  135. package/dist/tests/testUtils.js.map +1 -1
  136. package/dist/tests/typeEvaluator1.test.js +9 -1
  137. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  138. package/dist/tests/typeEvaluator2.test.js +9 -1
  139. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  140. package/dist/tests/typeEvaluator3.test.js +4 -0
  141. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  142. package/dist/workspaceMap.d.ts +2 -1
  143. package/dist/workspaceMap.js +25 -3
  144. package/dist/workspaceMap.js.map +1 -1
  145. package/package.json +45 -45
  146. package/src/analyzer/aliasDeclarationUtils.ts +0 -169
  147. package/src/analyzer/analysis.ts +0 -92
  148. package/src/analyzer/analyzerFileInfo.ts +0 -56
  149. package/src/analyzer/analyzerNodeInfo.ts +0 -198
  150. package/src/analyzer/backgroundAnalysisProgram.ts +0 -311
  151. package/src/analyzer/binder.ts +0 -4081
  152. package/src/analyzer/checker.ts +0 -5507
  153. package/src/analyzer/circularDependency.ts +0 -52
  154. package/src/analyzer/codeFlowEngine.ts +0 -1548
  155. package/src/analyzer/codeFlowTypes.ts +0 -266
  156. package/src/analyzer/codeFlowUtils.ts +0 -436
  157. package/src/analyzer/commentUtils.ts +0 -174
  158. package/src/analyzer/constraintSolver.ts +0 -926
  159. package/src/analyzer/constructorTransform.ts +0 -317
  160. package/src/analyzer/dataClasses.ts +0 -999
  161. package/src/analyzer/declaration.ts +0 -252
  162. package/src/analyzer/declarationUtils.ts +0 -238
  163. package/src/analyzer/docStringConversion.ts +0 -850
  164. package/src/analyzer/docStringUtils.ts +0 -112
  165. package/src/analyzer/functionTransform.ts +0 -137
  166. package/src/analyzer/importResolver.ts +0 -2308
  167. package/src/analyzer/importResult.ts +0 -98
  168. package/src/analyzer/importStatementUtils.ts +0 -834
  169. package/src/analyzer/namedTuples.ts +0 -422
  170. package/src/analyzer/packageTypeReport.ts +0 -108
  171. package/src/analyzer/packageTypeVerifier.ts +0 -1466
  172. package/src/analyzer/parentDirectoryCache.ts +0 -88
  173. package/src/analyzer/parseTreeCleaner.ts +0 -35
  174. package/src/analyzer/parseTreeUtils.ts +0 -2165
  175. package/src/analyzer/parseTreeWalker.ts +0 -663
  176. package/src/analyzer/patternMatching.ts +0 -1356
  177. package/src/analyzer/program.ts +0 -2778
  178. package/src/analyzer/properties.ts +0 -534
  179. package/src/analyzer/protocols.ts +0 -660
  180. package/src/analyzer/pyTypedUtils.ts +0 -52
  181. package/src/analyzer/pythonPathUtils.ts +0 -201
  182. package/src/analyzer/scope.ts +0 -202
  183. package/src/analyzer/scopeUtils.ts +0 -81
  184. package/src/analyzer/service.ts +0 -1679
  185. package/src/analyzer/sourceFile.ts +0 -1401
  186. package/src/analyzer/sourceMapper.ts +0 -717
  187. package/src/analyzer/staticExpressions.ts +0 -308
  188. package/src/analyzer/symbol.ts +0 -249
  189. package/src/analyzer/symbolNameUtils.ts +0 -50
  190. package/src/analyzer/symbolUtils.ts +0 -49
  191. package/src/analyzer/testWalker.ts +0 -101
  192. package/src/analyzer/tracePrinter.ts +0 -264
  193. package/src/analyzer/typeCache.ts +0 -181
  194. package/src/analyzer/typeDocStringUtils.ts +0 -371
  195. package/src/analyzer/typeEvaluator.ts +0 -23395
  196. package/src/analyzer/typeEvaluatorTypes.ts +0 -452
  197. package/src/analyzer/typeEvaluatorWithTracker.ts +0 -161
  198. package/src/analyzer/typeGuards.ts +0 -1828
  199. package/src/analyzer/typePrinter.ts +0 -807
  200. package/src/analyzer/typeStubWriter.ts +0 -727
  201. package/src/analyzer/typeUtils.ts +0 -3126
  202. package/src/analyzer/typeVarContext.ts +0 -330
  203. package/src/analyzer/typedDicts.ts +0 -950
  204. package/src/analyzer/types.ts +0 -2857
  205. package/src/backgroundAnalysis.ts +0 -49
  206. package/src/backgroundAnalysisBase.ts +0 -606
  207. package/src/backgroundThreadBase.ts +0 -143
  208. package/src/commands/commandController.ts +0 -62
  209. package/src/commands/commandResult.ts +0 -21
  210. package/src/commands/commands.ts +0 -16
  211. package/src/commands/createTypeStub.ts +0 -56
  212. package/src/commands/quickActionCommand.ts +0 -40
  213. package/src/commands/restartServer.ts +0 -20
  214. package/src/common/cancellationUtils.ts +0 -71
  215. package/src/common/chokidarFileWatcherProvider.ts +0 -74
  216. package/src/common/collectionUtils.ts +0 -379
  217. package/src/common/commandLineOptions.ts +0 -132
  218. package/src/common/configOptions.ts +0 -1291
  219. package/src/common/console.ts +0 -201
  220. package/src/common/core.ts +0 -152
  221. package/src/common/crypto.ts +0 -60
  222. package/src/common/debug.ts +0 -144
  223. package/src/common/deferred.ts +0 -78
  224. package/src/common/diagnostic.ts +0 -191
  225. package/src/common/diagnosticRules.ts +0 -80
  226. package/src/common/diagnosticSink.ts +0 -150
  227. package/src/common/editAction.ts +0 -46
  228. package/src/common/extensibility.ts +0 -35
  229. package/src/common/extensions.ts +0 -21
  230. package/src/common/fileBasedCancellationUtils.ts +0 -274
  231. package/src/common/fileSystem.ts +0 -152
  232. package/src/common/fullAccessHost.ts +0 -203
  233. package/src/common/host.ts +0 -49
  234. package/src/common/logTracker.ts +0 -157
  235. package/src/common/lspUtils.ts +0 -18
  236. package/src/common/memUtils.ts +0 -36
  237. package/src/common/pathConsts.ts +0 -16
  238. package/src/common/pathUtils.ts +0 -987
  239. package/src/common/positionUtils.ts +0 -78
  240. package/src/common/progressReporter.ts +0 -53
  241. package/src/common/pythonVersion.ts +0 -74
  242. package/src/common/realFileSystem.ts +0 -433
  243. package/src/common/stringUtils.ts +0 -161
  244. package/src/common/textEditUtils.ts +0 -31
  245. package/src/common/textRange.ts +0 -225
  246. package/src/common/textRangeCollection.ts +0 -122
  247. package/src/common/timing.ts +0 -105
  248. package/src/common/uriParser.ts +0 -26
  249. package/src/common/workspaceEditUtils.ts +0 -100
  250. package/src/languageServerBase.ts +0 -1556
  251. package/src/languageService/analyzerServiceExecutor.ts +0 -144
  252. package/src/languageService/autoImporter.ts +0 -926
  253. package/src/languageService/callHierarchyProvider.ts +0 -476
  254. package/src/languageService/codeActionProvider.ts +0 -85
  255. package/src/languageService/completionProvider.ts +0 -3103
  256. package/src/languageService/definitionProvider.ts +0 -235
  257. package/src/languageService/documentHighlightProvider.ts +0 -61
  258. package/src/languageService/documentSymbolCollector.ts +0 -466
  259. package/src/languageService/documentSymbolProvider.ts +0 -466
  260. package/src/languageService/hoverProvider.ts +0 -499
  261. package/src/languageService/importAdder.ts +0 -437
  262. package/src/languageService/importSorter.ts +0 -196
  263. package/src/languageService/indentationUtils.ts +0 -813
  264. package/src/languageService/quickActions.ts +0 -113
  265. package/src/languageService/referencesProvider.ts +0 -316
  266. package/src/languageService/renameModuleProvider.ts +0 -1400
  267. package/src/languageService/signatureHelpProvider.ts +0 -227
  268. package/src/languageService/tooltipUtils.ts +0 -147
  269. package/src/localization/localize.ts +0 -1272
  270. package/src/localization/package.nls.de.json +0 -3
  271. package/src/localization/package.nls.en-us.json +0 -636
  272. package/src/localization/package.nls.es.json +0 -3
  273. package/src/localization/package.nls.fr.json +0 -3
  274. package/src/localization/package.nls.ja.json +0 -3
  275. package/src/localization/package.nls.ru.json +0 -3
  276. package/src/localization/package.nls.zh-cn.json +0 -3
  277. package/src/localization/package.nls.zh-tw.json +0 -3
  278. package/src/nodeMain.ts +0 -21
  279. package/src/nodeServer.ts +0 -30
  280. package/src/parser/characterStream.ts +0 -145
  281. package/src/parser/characters.ts +0 -285
  282. package/src/parser/parseNodes.ts +0 -2338
  283. package/src/parser/parser.ts +0 -4859
  284. package/src/parser/stringTokenUtils.ts +0 -564
  285. package/src/parser/tokenizer.ts +0 -1379
  286. package/src/parser/tokenizerTypes.ts +0 -420
  287. package/src/parser/unicode.ts +0 -2917
  288. package/src/pyright.ts +0 -824
  289. package/src/pyrightFileSystem.ts +0 -237
  290. package/src/readonlyAugmentedFileSystem.ts +0 -204
  291. package/src/server.ts +0 -298
  292. package/src/tests/chainedSourceFiles.test.ts +0 -183
  293. package/src/tests/checker.test.ts +0 -445
  294. package/src/tests/collectionUtils.test.ts +0 -178
  295. package/src/tests/common.test.ts +0 -117
  296. package/src/tests/config.test.ts +0 -291
  297. package/src/tests/debug.test.ts +0 -120
  298. package/src/tests/deferred.test.ts +0 -54
  299. package/src/tests/diagnosticOverrides.test.ts +0 -104
  300. package/src/tests/docStringConversion.test.ts +0 -823
  301. package/src/tests/docStringUtils.test.ts +0 -57
  302. package/src/tests/documentSymbolCollector.test.ts +0 -735
  303. package/src/tests/filesystem.test.ts +0 -215
  304. package/src/tests/fourSlashParser.test.ts +0 -330
  305. package/src/tests/fourSlashRunner.test.ts +0 -36
  306. package/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts +0 -33
  307. package/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts +0 -47
  308. package/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts +0 -14
  309. package/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts +0 -25
  310. package/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts +0 -36
  311. package/src/tests/fourslash/completions.autoimport.fourslash.ts +0 -29
  312. package/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts +0 -130
  313. package/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts +0 -29
  314. package/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts +0 -48
  315. package/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts +0 -31
  316. package/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts +0 -57
  317. package/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts +0 -117
  318. package/src/tests/fourslash/completions.builtinOverride.fourslash.ts +0 -22
  319. package/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts +0 -55
  320. package/src/tests/fourslash/completions.call.typedDict.fourslash.ts +0 -247
  321. package/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts +0 -163
  322. package/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts +0 -135
  323. package/src/tests/fourslash/completions.classVariable.fourslash.ts +0 -37
  324. package/src/tests/fourslash/completions.comment.fourslash.ts +0 -28
  325. package/src/tests/fourslash/completions.declNames.class.fourslash.ts +0 -35
  326. package/src/tests/fourslash/completions.declNames.exception.fourslash.ts +0 -18
  327. package/src/tests/fourslash/completions.declNames.for.fourslash.ts +0 -30
  328. package/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts +0 -15
  329. package/src/tests/fourslash/completions.declNames.lambda.fourslash.ts +0 -45
  330. package/src/tests/fourslash/completions.declNames.method.fourslash.ts +0 -71
  331. package/src/tests/fourslash/completions.declNames.overload.fourslash.ts +0 -156
  332. package/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts +0 -141
  333. package/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts +0 -76
  334. package/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts +0 -63
  335. package/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts +0 -161
  336. package/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts +0 -151
  337. package/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts +0 -116
  338. package/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts +0 -53
  339. package/src/tests/fourslash/completions.enums.members.fourslash.ts +0 -44
  340. package/src/tests/fourslash/completions.excluded.fourslash.ts +0 -12
  341. package/src/tests/fourslash/completions.fourslash.ts +0 -51
  342. package/src/tests/fourslash/completions.fstring.fourslash.ts +0 -33
  343. package/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts +0 -96
  344. package/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts +0 -30
  345. package/src/tests/fourslash/completions.importDunderNames.fourslash.ts +0 -31
  346. package/src/tests/fourslash/completions.importSubmodule.fourslash.ts +0 -26
  347. package/src/tests/fourslash/completions.importsDuplicates.fourslash.ts +0 -23
  348. package/src/tests/fourslash/completions.inList.fourslash.ts +0 -33
  349. package/src/tests/fourslash/completions.included.fourslash.ts +0 -12
  350. package/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts +0 -57
  351. package/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts +0 -28
  352. package/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts +0 -52
  353. package/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts +0 -53
  354. package/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts +0 -104
  355. package/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts +0 -108
  356. package/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts +0 -72
  357. package/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts +0 -79
  358. package/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts +0 -69
  359. package/src/tests/fourslash/completions.libStub.fourslash.ts +0 -69
  360. package/src/tests/fourslash/completions.literals.fourslash.ts +0 -33
  361. package/src/tests/fourslash/completions.localCode.fourslash.ts +0 -74
  362. package/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts +0 -17
  363. package/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts +0 -57
  364. package/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts +0 -30
  365. package/src/tests/fourslash/completions.overloads.fourslash.ts +0 -40
  366. package/src/tests/fourslash/completions.override.default.fourslash.ts +0 -47
  367. package/src/tests/fourslash/completions.override.default.importStub.ts +0 -50
  368. package/src/tests/fourslash/completions.override.default.imported.fourslash.ts +0 -61
  369. package/src/tests/fourslash/completions.override.default.stub.fourslash.ts +0 -47
  370. package/src/tests/fourslash/completions.override.fourslash.ts +0 -47
  371. package/src/tests/fourslash/completions.override.property.fourslash.ts +0 -31
  372. package/src/tests/fourslash/completions.override.property.stub.fourslash.ts +0 -31
  373. package/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts +0 -64
  374. package/src/tests/fourslash/completions.override.stub.fourslash.ts +0 -47
  375. package/src/tests/fourslash/completions.override2.fourslash.ts +0 -71
  376. package/src/tests/fourslash/completions.parameters.fourslash.ts +0 -23
  377. package/src/tests/fourslash/completions.params.fourslash.ts +0 -24
  378. package/src/tests/fourslash/completions.parentFolder.fourslash.ts +0 -17
  379. package/src/tests/fourslash/completions.parentFolders.fourslash.ts +0 -77
  380. package/src/tests/fourslash/completions.plainText.fourslash.ts +0 -34
  381. package/src/tests/fourslash/completions.private.fourslash.ts +0 -64
  382. package/src/tests/fourslash/completions.property.fourslash.ts +0 -28
  383. package/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts +0 -64
  384. package/src/tests/fourslash/completions.self.fourslash.ts +0 -43
  385. package/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts +0 -71
  386. package/src/tests/fourslash/completions.stringLiteral.fourslash.ts +0 -79
  387. package/src/tests/fourslash/completions.typeAlias.fourslash.ts +0 -29
  388. package/src/tests/fourslash/completions.typeshed.fourslash.ts +0 -9
  389. package/src/tests/fourslash/completions.vardecls.fourslash.ts +0 -40
  390. package/src/tests/fourslash/completions.variableDocStrings.fourslash.ts +0 -69
  391. package/src/tests/fourslash/completions.wildcardimports.fourslash.ts +0 -116
  392. package/src/tests/fourslash/completions.with.fourslash.ts +0 -26
  393. package/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts +0 -69
  394. package/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts +0 -29
  395. package/src/tests/fourslash/findDefinitions.classes.fourslash.ts +0 -101
  396. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts +0 -29
  397. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts +0 -24
  398. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts +0 -29
  399. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts +0 -25
  400. package/src/tests/fourslash/findDefinitions.fields.fourslash.ts +0 -131
  401. package/src/tests/fourslash/findDefinitions.functions.fourslash.ts +0 -87
  402. package/src/tests/fourslash/findDefinitions.methods.fourslash.ts +0 -162
  403. package/src/tests/fourslash/findDefinitions.modules.fourslash.ts +0 -50
  404. package/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts +0 -40
  405. package/src/tests/fourslash/findDefinitions.overloads.fourslash.ts +0 -223
  406. package/src/tests/fourslash/findDefinitions.parameters.fourslash.ts +0 -162
  407. package/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts +0 -26
  408. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts +0 -32
  409. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts +0 -33
  410. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts +0 -28
  411. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts +0 -29
  412. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts +0 -31
  413. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts +0 -36
  414. package/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts +0 -29
  415. package/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts +0 -28
  416. package/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts +0 -28
  417. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts +0 -22
  418. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts +0 -22
  419. package/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts +0 -61
  420. package/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts +0 -71
  421. package/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts +0 -99
  422. package/src/tests/fourslash/findDefinitions.variables.fourslash.ts +0 -88
  423. package/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts +0 -117
  424. package/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts +0 -26
  425. package/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts +0 -72
  426. package/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts +0 -26
  427. package/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts +0 -39
  428. package/src/tests/fourslash/findallreferences.fourslash.ts +0 -34
  429. package/src/tests/fourslash/findallreferences.importalias.fourslash.ts +0 -34
  430. package/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts +0 -52
  431. package/src/tests/fourslash/findallreferences.module.nested.fourslash.ts +0 -67
  432. package/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts +0 -59
  433. package/src/tests/fourslash/findallreferences.modules.fourslash.ts +0 -46
  434. package/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts +0 -95
  435. package/src/tests/fourslash/findallreferences.openFiles.fourslash.ts +0 -37
  436. package/src/tests/fourslash/findallreferences.parameter.fourslash.ts +0 -24
  437. package/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts +0 -33
  438. package/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts +0 -37
  439. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts +0 -40
  440. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts +0 -48
  441. package/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts +0 -35
  442. package/src/tests/fourslash/findallreferences.variable.fourslash.ts +0 -24
  443. package/src/tests/fourslash/fourslash.ts +0 -411
  444. package/src/tests/fourslash/highlightreferences.attributes.fourslash.ts +0 -31
  445. package/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts +0 -64
  446. package/src/tests/fourslash/hover.classNoInit.fourslash.ts +0 -14
  447. package/src/tests/fourslash/hover.docFromScr.stringFormat.fourslash.ts +0 -52
  448. package/src/tests/fourslash/hover.docFromSrc.fourslash.ts +0 -83
  449. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts +0 -26
  450. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts +0 -26
  451. package/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts +0 -23
  452. package/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts +0 -22
  453. package/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts +0 -46
  454. package/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts +0 -29
  455. package/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts +0 -20
  456. package/src/tests/fourslash/hover.docstring.links.fourslash.ts +0 -12
  457. package/src/tests/fourslash/hover.docstring.overloads.fourslash.ts +0 -41
  458. package/src/tests/fourslash/hover.docstring.split.fourslash.ts +0 -24
  459. package/src/tests/fourslash/hover.fourslash.ts +0 -20
  460. package/src/tests/fourslash/hover.import.django.view.fourslash.ts +0 -27
  461. package/src/tests/fourslash/hover.import.fourslash.ts +0 -11
  462. package/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts +0 -63
  463. package/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts +0 -54
  464. package/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts +0 -42
  465. package/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts +0 -46
  466. package/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts +0 -47
  467. package/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts +0 -87
  468. package/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts +0 -91
  469. package/src/tests/fourslash/hover.init.fourslash.ts +0 -39
  470. package/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts +0 -52
  471. package/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts +0 -41
  472. package/src/tests/fourslash/hover.libStub.fourslash.ts +0 -41
  473. package/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts +0 -14
  474. package/src/tests/fourslash/hover.plainText.fourslash.ts +0 -21
  475. package/src/tests/fourslash/hover.typedDict.key.fourslash.ts +0 -51
  476. package/src/tests/fourslash/hover.variable.docString.fourslash.ts +0 -41
  477. package/src/tests/fourslash/hover.wildcardimports.fourslash.ts +0 -80
  478. package/src/tests/fourslash/import.publicSymbols.fourslash.ts +0 -65
  479. package/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts +0 -77
  480. package/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts +0 -65
  481. package/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts +0 -38
  482. package/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts +0 -38
  483. package/src/tests/fourslash/import.wildcard.fourslash.ts +0 -27
  484. package/src/tests/fourslash/importnotresolved.fourslash.ts +0 -13
  485. package/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts +0 -20
  486. package/src/tests/fourslash/missingModuleSource.fourslash.ts +0 -14
  487. package/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts +0 -33
  488. package/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts +0 -48
  489. package/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts +0 -38
  490. package/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts +0 -38
  491. package/src/tests/fourslash/missingTypeStub.fourslash.ts +0 -20
  492. package/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts +0 -36
  493. package/src/tests/fourslash/noerrors.fourslash.ts +0 -9
  494. package/src/tests/fourslash/orderImports1.command.fourslash.ts +0 -20
  495. package/src/tests/fourslash/orderImports2.command.fourslash.ts +0 -24
  496. package/src/tests/fourslash/rename.externallyHidden.fourslash.ts +0 -24
  497. package/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts +0 -24
  498. package/src/tests/fourslash/rename.fourslash.ts +0 -29
  499. package/src/tests/fourslash/rename.library.fourslash.ts +0 -29
  500. package/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts +0 -33
  501. package/src/tests/fourslash/rename.multipleDecl.fourslash.ts +0 -21
  502. package/src/tests/fourslash/rename.sourceAndStub.fourslash.ts +0 -37
  503. package/src/tests/fourslash/rename.string.excluded.fourslash.ts +0 -43
  504. package/src/tests/fourslash/rename.string.fourslash.ts +0 -26
  505. package/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts +0 -63
  506. package/src/tests/fourslash/signature.complicated.fourslash.ts +0 -100
  507. package/src/tests/fourslash/signature.cornercases.fourslash.ts +0 -23
  508. package/src/tests/fourslash/signature.docstrings.fourslash.ts +0 -43
  509. package/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts +0 -50
  510. package/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts +0 -122
  511. package/src/tests/fourslash/signature.overload.fourslash.ts +0 -64
  512. package/src/tests/fourslash/signature.simple.fourslash.ts +0 -104
  513. package/src/tests/harness/fourslash/fourSlashParser.ts +0 -441
  514. package/src/tests/harness/fourslash/fourSlashTypes.ts +0 -134
  515. package/src/tests/harness/fourslash/runner.ts +0 -99
  516. package/src/tests/harness/fourslash/testLanguageService.ts +0 -142
  517. package/src/tests/harness/fourslash/testState.Consts.ts +0 -29
  518. package/src/tests/harness/fourslash/testState.ts +0 -1993
  519. package/src/tests/harness/testAccessHost.ts +0 -23
  520. package/src/tests/harness/testHost.ts +0 -177
  521. package/src/tests/harness/utils.ts +0 -355
  522. package/src/tests/harness/vfs/factory.ts +0 -199
  523. package/src/tests/harness/vfs/filesystem.ts +0 -1893
  524. package/src/tests/harness/vfs/pathValidation.ts +0 -154
  525. package/src/tests/importAdder.test.ts +0 -1361
  526. package/src/tests/importResolver.test.ts +0 -534
  527. package/src/tests/importStatementUtils.test.ts +0 -526
  528. package/src/tests/indentationUtils.ptvs.test.ts +0 -388
  529. package/src/tests/indentationUtils.reindent.test.ts +0 -403
  530. package/src/tests/indentationUtils.test.ts +0 -455
  531. package/src/tests/ipythonMode.test.ts +0 -365
  532. package/src/tests/localizer.test.ts +0 -47
  533. package/src/tests/parseTreeUtils.test.ts +0 -281
  534. package/src/tests/parser.test.ts +0 -99
  535. package/src/tests/pathUtils.test.ts +0 -321
  536. package/src/tests/pyrightFileSystem.test.ts +0 -183
  537. package/src/tests/renameModule.folder.test.ts +0 -261
  538. package/src/tests/renameModule.fromImports.test.ts +0 -952
  539. package/src/tests/renameModule.imports.test.ts +0 -450
  540. package/src/tests/renameModule.misc.test.ts +0 -765
  541. package/src/tests/renameModule.relativePath.test.ts +0 -277
  542. package/src/tests/renameModuleTestUtils.ts +0 -210
  543. package/src/tests/samples/abstractClass1.py +0 -51
  544. package/src/tests/samples/abstractClass2.py +0 -25
  545. package/src/tests/samples/abstractClass3.py +0 -30
  546. package/src/tests/samples/abstractClass4.py +0 -30
  547. package/src/tests/samples/abstractClass5.py +0 -42
  548. package/src/tests/samples/abstractClass6.py +0 -25
  549. package/src/tests/samples/abstractClass7.py +0 -22
  550. package/src/tests/samples/abstractClass8.py +0 -27
  551. package/src/tests/samples/annotated1.py +0 -72
  552. package/src/tests/samples/annotatedVar1.py +0 -22
  553. package/src/tests/samples/annotatedVar2.py +0 -28
  554. package/src/tests/samples/annotatedVar3.py +0 -54
  555. package/src/tests/samples/annotatedVar4.py +0 -24
  556. package/src/tests/samples/annotatedVar5.py +0 -37
  557. package/src/tests/samples/annotatedVar6.py +0 -22
  558. package/src/tests/samples/annotatedVar7.py +0 -13
  559. package/src/tests/samples/annotatedVar8.py +0 -29
  560. package/src/tests/samples/annotations1.py +0 -98
  561. package/src/tests/samples/annotations2.py +0 -33
  562. package/src/tests/samples/annotations3.py +0 -43
  563. package/src/tests/samples/annotations4.py +0 -54
  564. package/src/tests/samples/annotations5.py +0 -9
  565. package/src/tests/samples/annotations6.py +0 -29
  566. package/src/tests/samples/assert1.py +0 -22
  567. package/src/tests/samples/assertType1.py +0 -46
  568. package/src/tests/samples/assignment1.py +0 -58
  569. package/src/tests/samples/assignment10.py +0 -14
  570. package/src/tests/samples/assignment2.py +0 -40
  571. package/src/tests/samples/assignment3.py +0 -46
  572. package/src/tests/samples/assignment4.py +0 -20
  573. package/src/tests/samples/assignment5.py +0 -16
  574. package/src/tests/samples/assignment6.py +0 -25
  575. package/src/tests/samples/assignment7.py +0 -13
  576. package/src/tests/samples/assignment8.py +0 -40
  577. package/src/tests/samples/assignment9.py +0 -25
  578. package/src/tests/samples/assignmentExpr1.py +0 -23
  579. package/src/tests/samples/assignmentExpr2.py +0 -49
  580. package/src/tests/samples/assignmentExpr3.py +0 -27
  581. package/src/tests/samples/assignmentExpr4.py +0 -49
  582. package/src/tests/samples/assignmentExpr5.py +0 -15
  583. package/src/tests/samples/assignmentExpr6.py +0 -10
  584. package/src/tests/samples/assignmentExpr7.py +0 -13
  585. package/src/tests/samples/assignmentExpr8.py +0 -11
  586. package/src/tests/samples/assignmentExpr9.py +0 -28
  587. package/src/tests/samples/async1.py +0 -49
  588. package/src/tests/samples/augmentedAssignment1.py +0 -62
  589. package/src/tests/samples/augmentedAssignment2.py +0 -23
  590. package/src/tests/samples/augmentedAssignment3.py +0 -8
  591. package/src/tests/samples/await1.py +0 -23
  592. package/src/tests/samples/await2.py +0 -25
  593. package/src/tests/samples/badToken1.py +0 -6
  594. package/src/tests/samples/builtins1.py +0 -2
  595. package/src/tests/samples/call1.py +0 -93
  596. package/src/tests/samples/call2.py +0 -118
  597. package/src/tests/samples/call3.py +0 -168
  598. package/src/tests/samples/call4.py +0 -13
  599. package/src/tests/samples/call5.py +0 -95
  600. package/src/tests/samples/call6.py +0 -35
  601. package/src/tests/samples/call7.py +0 -57
  602. package/src/tests/samples/callSite1.py +0 -6
  603. package/src/tests/samples/callSite2.py +0 -12
  604. package/src/tests/samples/callable1.py +0 -53
  605. package/src/tests/samples/callable2.py +0 -58
  606. package/src/tests/samples/callable3.py +0 -28
  607. package/src/tests/samples/callable4.py +0 -32
  608. package/src/tests/samples/callable5.py +0 -40
  609. package/src/tests/samples/callable6.py +0 -83
  610. package/src/tests/samples/callbackProtocol1.py +0 -119
  611. package/src/tests/samples/callbackProtocol2.py +0 -29
  612. package/src/tests/samples/callbackProtocol3.py +0 -23
  613. package/src/tests/samples/callbackProtocol4.py +0 -73
  614. package/src/tests/samples/callbackProtocol5.py +0 -66
  615. package/src/tests/samples/callbackProtocol6.py +0 -66
  616. package/src/tests/samples/callbackProtocol7.py +0 -16
  617. package/src/tests/samples/callbackProtocol8.py +0 -16
  618. package/src/tests/samples/capturedVariable1.py +0 -106
  619. package/src/tests/samples/circular1.py +0 -16
  620. package/src/tests/samples/circular2.py +0 -38
  621. package/src/tests/samples/circularBaseClass.py +0 -17
  622. package/src/tests/samples/classGetItem1.py +0 -30
  623. package/src/tests/samples/classVar1.py +0 -41
  624. package/src/tests/samples/classVar2.py +0 -29
  625. package/src/tests/samples/classVar3.py +0 -46
  626. package/src/tests/samples/classVar4.py +0 -36
  627. package/src/tests/samples/classes1.py +0 -50
  628. package/src/tests/samples/classes3.py +0 -48
  629. package/src/tests/samples/classes4.py +0 -15
  630. package/src/tests/samples/classes5.py +0 -260
  631. package/src/tests/samples/classes6.py +0 -16
  632. package/src/tests/samples/classes7.py +0 -18
  633. package/src/tests/samples/classes8.py +0 -47
  634. package/src/tests/samples/codeFlow1.py +0 -65
  635. package/src/tests/samples/codeFlow2.py +0 -26
  636. package/src/tests/samples/codeFlow3.py +0 -8
  637. package/src/tests/samples/codeFlow4.py +0 -133
  638. package/src/tests/samples/codeFlow5.py +0 -10
  639. package/src/tests/samples/codeFlow6.py +0 -35
  640. package/src/tests/samples/codeFlow7.py +0 -35
  641. package/src/tests/samples/comparison1.py +0 -77
  642. package/src/tests/samples/comparison2.py +0 -37
  643. package/src/tests/samples/complex1.py +0 -17
  644. package/src/tests/samples/constant1.py +0 -40
  645. package/src/tests/samples/constants1.py +0 -64
  646. package/src/tests/samples/constructor1.py +0 -30
  647. package/src/tests/samples/constructor10.py +0 -19
  648. package/src/tests/samples/constructor11.py +0 -32
  649. package/src/tests/samples/constructor12.py +0 -20
  650. package/src/tests/samples/constructor13.py +0 -15
  651. package/src/tests/samples/constructor2.py +0 -180
  652. package/src/tests/samples/constructor3.py +0 -18
  653. package/src/tests/samples/constructor4.py +0 -25
  654. package/src/tests/samples/constructor5.py +0 -25
  655. package/src/tests/samples/constructor6.py +0 -70
  656. package/src/tests/samples/constructor7.py +0 -11
  657. package/src/tests/samples/constructor8.py +0 -99
  658. package/src/tests/samples/constructor9.py +0 -19
  659. package/src/tests/samples/coroutines1.py +0 -60
  660. package/src/tests/samples/coroutines2.py +0 -20
  661. package/src/tests/samples/coroutines3.py +0 -37
  662. package/src/tests/samples/dataclass1.py +0 -44
  663. package/src/tests/samples/dataclass10.py +0 -45
  664. package/src/tests/samples/dataclass11.py +0 -53
  665. package/src/tests/samples/dataclass12.py +0 -32
  666. package/src/tests/samples/dataclass13.py +0 -42
  667. package/src/tests/samples/dataclass14.py +0 -38
  668. package/src/tests/samples/dataclass15.py +0 -58
  669. package/src/tests/samples/dataclass16.py +0 -21
  670. package/src/tests/samples/dataclass17.py +0 -46
  671. package/src/tests/samples/dataclass18.py +0 -57
  672. package/src/tests/samples/dataclass19.py +0 -44
  673. package/src/tests/samples/dataclass2.py +0 -30
  674. package/src/tests/samples/dataclass20.py +0 -71
  675. package/src/tests/samples/dataclass21.py +0 -13
  676. package/src/tests/samples/dataclass3.py +0 -18
  677. package/src/tests/samples/dataclass4.py +0 -64
  678. package/src/tests/samples/dataclass5.py +0 -81
  679. package/src/tests/samples/dataclass6.py +0 -29
  680. package/src/tests/samples/dataclass7.py +0 -93
  681. package/src/tests/samples/dataclass8.py +0 -22
  682. package/src/tests/samples/dataclass9.py +0 -24
  683. package/src/tests/samples/dataclassPostInit1.py +0 -61
  684. package/src/tests/samples/dataclassTransform1.py +0 -71
  685. package/src/tests/samples/dataclassTransform2.py +0 -78
  686. package/src/tests/samples/dataclassTransform3.py +0 -83
  687. package/src/tests/samples/dataclassTransform4.py +0 -87
  688. package/src/tests/samples/decorator1.py +0 -20
  689. package/src/tests/samples/decorator2.py +0 -31
  690. package/src/tests/samples/decorator3.py +0 -27
  691. package/src/tests/samples/decorator4.py +0 -37
  692. package/src/tests/samples/decorator5.py +0 -29
  693. package/src/tests/samples/decorator6.py +0 -34
  694. package/src/tests/samples/defaultInitializer1.py +0 -26
  695. package/src/tests/samples/deprecated1.py +0 -37
  696. package/src/tests/samples/descriptor1.py +0 -134
  697. package/src/tests/samples/descriptor2.py +0 -29
  698. package/src/tests/samples/dictionary1.py +0 -42
  699. package/src/tests/samples/dictionary2.py +0 -14
  700. package/src/tests/samples/dictionary3.py +0 -30
  701. package/src/tests/samples/dictionary4.py +0 -106
  702. package/src/tests/samples/dunderAll1.py +0 -32
  703. package/src/tests/samples/dunderAll2.py +0 -16
  704. package/src/tests/samples/dunderAll3.pyi +0 -16
  705. package/src/tests/samples/duplicateDeclaration1.py +0 -115
  706. package/src/tests/samples/duplicateDeclaration2.py +0 -45
  707. package/src/tests/samples/duplicateImports1.py +0 -13
  708. package/src/tests/samples/ellipsis1.pyi +0 -48
  709. package/src/tests/samples/emptyContainers1.py +0 -89
  710. package/src/tests/samples/enums1.py +0 -52
  711. package/src/tests/samples/enums2.py +0 -15
  712. package/src/tests/samples/enums3.py +0 -24
  713. package/src/tests/samples/enums4.py +0 -23
  714. package/src/tests/samples/enums5.py +0 -16
  715. package/src/tests/samples/enums6.py +0 -33
  716. package/src/tests/samples/enums7.py +0 -54
  717. package/src/tests/samples/enums8.py +0 -14
  718. package/src/tests/samples/expressions1.py +0 -54
  719. package/src/tests/samples/expressions2.py +0 -29
  720. package/src/tests/samples/expressions3.py +0 -26
  721. package/src/tests/samples/expressions4.py +0 -23
  722. package/src/tests/samples/expressions5.py +0 -70
  723. package/src/tests/samples/expressions6.py +0 -14
  724. package/src/tests/samples/expressions7.py +0 -40
  725. package/src/tests/samples/expressions8.py +0 -26
  726. package/src/tests/samples/expressions9.py +0 -14
  727. package/src/tests/samples/final1.py +0 -14
  728. package/src/tests/samples/final2.py +0 -86
  729. package/src/tests/samples/final3.py +0 -179
  730. package/src/tests/samples/final4.pyi +0 -21
  731. package/src/tests/samples/final5.py +0 -18
  732. package/src/tests/samples/forLoop1.py +0 -88
  733. package/src/tests/samples/forLoop2.py +0 -48
  734. package/src/tests/samples/fstring1.py +0 -66
  735. package/src/tests/samples/fstring2.py +0 -12
  736. package/src/tests/samples/fstring3.py +0 -35
  737. package/src/tests/samples/fstring4.py +0 -17
  738. package/src/tests/samples/fstring5.py +0 -17
  739. package/src/tests/samples/fstring6.py +0 -14
  740. package/src/tests/samples/function1.py +0 -12
  741. package/src/tests/samples/function10.py +0 -20
  742. package/src/tests/samples/function11.py +0 -36
  743. package/src/tests/samples/function2.py +0 -7
  744. package/src/tests/samples/function3.py +0 -82
  745. package/src/tests/samples/function4.py +0 -13
  746. package/src/tests/samples/function6.py +0 -24
  747. package/src/tests/samples/function7.py +0 -13
  748. package/src/tests/samples/function8.py +0 -38
  749. package/src/tests/samples/function9.py +0 -75
  750. package/src/tests/samples/functionAnnotation1.py +0 -61
  751. package/src/tests/samples/functionAnnotation2.py +0 -26
  752. package/src/tests/samples/functionAnnotation3.py +0 -37
  753. package/src/tests/samples/functionAnnotation4.py +0 -22
  754. package/src/tests/samples/functionMember1.py +0 -18
  755. package/src/tests/samples/functionMember2.py +0 -45
  756. package/src/tests/samples/generators1.py +0 -122
  757. package/src/tests/samples/generators10.py +0 -18
  758. package/src/tests/samples/generators11.py +0 -27
  759. package/src/tests/samples/generators12.py +0 -25
  760. package/src/tests/samples/generators13.py +0 -65
  761. package/src/tests/samples/generators14.py +0 -19
  762. package/src/tests/samples/generators15.py +0 -26
  763. package/src/tests/samples/generators2.py +0 -31
  764. package/src/tests/samples/generators3.py +0 -42
  765. package/src/tests/samples/generators4.py +0 -33
  766. package/src/tests/samples/generators5.py +0 -24
  767. package/src/tests/samples/generators6.py +0 -14
  768. package/src/tests/samples/generators7.py +0 -18
  769. package/src/tests/samples/generators8.py +0 -12
  770. package/src/tests/samples/generators9.py +0 -19
  771. package/src/tests/samples/generic1.py +0 -41
  772. package/src/tests/samples/genericTypes1.py +0 -12
  773. package/src/tests/samples/genericTypes10.py +0 -38
  774. package/src/tests/samples/genericTypes11.py +0 -26
  775. package/src/tests/samples/genericTypes12.py +0 -14
  776. package/src/tests/samples/genericTypes13.py +0 -27
  777. package/src/tests/samples/genericTypes14.py +0 -22
  778. package/src/tests/samples/genericTypes15.py +0 -13
  779. package/src/tests/samples/genericTypes16.py +0 -15
  780. package/src/tests/samples/genericTypes17.py +0 -24
  781. package/src/tests/samples/genericTypes18.py +0 -135
  782. package/src/tests/samples/genericTypes19.py +0 -32
  783. package/src/tests/samples/genericTypes2.py +0 -40
  784. package/src/tests/samples/genericTypes20.py +0 -44
  785. package/src/tests/samples/genericTypes21.py +0 -29
  786. package/src/tests/samples/genericTypes22.py +0 -23
  787. package/src/tests/samples/genericTypes23.py +0 -27
  788. package/src/tests/samples/genericTypes24.py +0 -32
  789. package/src/tests/samples/genericTypes25.py +0 -37
  790. package/src/tests/samples/genericTypes26.py +0 -31
  791. package/src/tests/samples/genericTypes27.py +0 -14
  792. package/src/tests/samples/genericTypes28.py +0 -51
  793. package/src/tests/samples/genericTypes29.py +0 -24
  794. package/src/tests/samples/genericTypes3.py +0 -13
  795. package/src/tests/samples/genericTypes30.py +0 -32
  796. package/src/tests/samples/genericTypes31.py +0 -30
  797. package/src/tests/samples/genericTypes32.py +0 -25
  798. package/src/tests/samples/genericTypes33.py +0 -46
  799. package/src/tests/samples/genericTypes34.py +0 -54
  800. package/src/tests/samples/genericTypes35.py +0 -45
  801. package/src/tests/samples/genericTypes36.py +0 -35
  802. package/src/tests/samples/genericTypes37.py +0 -26
  803. package/src/tests/samples/genericTypes38.py +0 -15
  804. package/src/tests/samples/genericTypes39.py +0 -82
  805. package/src/tests/samples/genericTypes4.py +0 -37
  806. package/src/tests/samples/genericTypes40.py +0 -38
  807. package/src/tests/samples/genericTypes41.py +0 -16
  808. package/src/tests/samples/genericTypes42.py +0 -32
  809. package/src/tests/samples/genericTypes43.py +0 -24
  810. package/src/tests/samples/genericTypes44.py +0 -33
  811. package/src/tests/samples/genericTypes45.py +0 -43
  812. package/src/tests/samples/genericTypes46.py +0 -66
  813. package/src/tests/samples/genericTypes47.py +0 -39
  814. package/src/tests/samples/genericTypes48.py +0 -18
  815. package/src/tests/samples/genericTypes49.py +0 -41
  816. package/src/tests/samples/genericTypes5.py +0 -42
  817. package/src/tests/samples/genericTypes50.py +0 -62
  818. package/src/tests/samples/genericTypes51.py +0 -55
  819. package/src/tests/samples/genericTypes52.py +0 -34
  820. package/src/tests/samples/genericTypes53.py +0 -42
  821. package/src/tests/samples/genericTypes54.py +0 -31
  822. package/src/tests/samples/genericTypes55.py +0 -61
  823. package/src/tests/samples/genericTypes56.py +0 -19
  824. package/src/tests/samples/genericTypes57.py +0 -30
  825. package/src/tests/samples/genericTypes58.py +0 -52
  826. package/src/tests/samples/genericTypes59.py +0 -71
  827. package/src/tests/samples/genericTypes6.py +0 -49
  828. package/src/tests/samples/genericTypes60.py +0 -27
  829. package/src/tests/samples/genericTypes61.py +0 -34
  830. package/src/tests/samples/genericTypes62.py +0 -26
  831. package/src/tests/samples/genericTypes63.py +0 -32
  832. package/src/tests/samples/genericTypes64.py +0 -16
  833. package/src/tests/samples/genericTypes65.py +0 -15
  834. package/src/tests/samples/genericTypes66.py +0 -30
  835. package/src/tests/samples/genericTypes67.py +0 -57
  836. package/src/tests/samples/genericTypes68.py +0 -14
  837. package/src/tests/samples/genericTypes69.py +0 -45
  838. package/src/tests/samples/genericTypes7.py +0 -24
  839. package/src/tests/samples/genericTypes70.py +0 -31
  840. package/src/tests/samples/genericTypes71.py +0 -72
  841. package/src/tests/samples/genericTypes72.py +0 -24
  842. package/src/tests/samples/genericTypes73.py +0 -14
  843. package/src/tests/samples/genericTypes74.py +0 -23
  844. package/src/tests/samples/genericTypes75.py +0 -45
  845. package/src/tests/samples/genericTypes76.py +0 -107
  846. package/src/tests/samples/genericTypes77.py +0 -26
  847. package/src/tests/samples/genericTypes78.py +0 -23
  848. package/src/tests/samples/genericTypes79.py +0 -37
  849. package/src/tests/samples/genericTypes8.py +0 -26
  850. package/src/tests/samples/genericTypes80.py +0 -10
  851. package/src/tests/samples/genericTypes81.py +0 -32
  852. package/src/tests/samples/genericTypes82.py +0 -19
  853. package/src/tests/samples/genericTypes83.py +0 -28
  854. package/src/tests/samples/genericTypes84.py +0 -11
  855. package/src/tests/samples/genericTypes85.py +0 -20
  856. package/src/tests/samples/genericTypes86.py +0 -15
  857. package/src/tests/samples/genericTypes87.py +0 -21
  858. package/src/tests/samples/genericTypes88.py +0 -25
  859. package/src/tests/samples/genericTypes89.py +0 -17
  860. package/src/tests/samples/genericTypes9.py +0 -109
  861. package/src/tests/samples/genericTypes90.py +0 -12
  862. package/src/tests/samples/genericTypes91.py +0 -20
  863. package/src/tests/samples/import1.py +0 -7
  864. package/src/tests/samples/import10.py +0 -11
  865. package/src/tests/samples/import11.py +0 -11
  866. package/src/tests/samples/import12.py +0 -5
  867. package/src/tests/samples/import13.py +0 -6
  868. package/src/tests/samples/import14.py +0 -10
  869. package/src/tests/samples/import2.py +0 -27
  870. package/src/tests/samples/import3.py +0 -8
  871. package/src/tests/samples/import4.py +0 -15
  872. package/src/tests/samples/import5.py +0 -6
  873. package/src/tests/samples/import6.py +0 -17
  874. package/src/tests/samples/import7.py +0 -14
  875. package/src/tests/samples/import8.py +0 -7
  876. package/src/tests/samples/import9.py +0 -7
  877. package/src/tests/samples/inconsistentConstructor1.py +0 -23
  878. package/src/tests/samples/inconsistentSpaceTab1.py +0 -9
  879. package/src/tests/samples/inconsistentSpaceTab2.py +0 -10
  880. package/src/tests/samples/index1.py +0 -97
  881. package/src/tests/samples/inferredTypes1.py +0 -25
  882. package/src/tests/samples/initVar1.py +0 -23
  883. package/src/tests/samples/initsubclass1.py +0 -46
  884. package/src/tests/samples/initsubclass2.py +0 -16
  885. package/src/tests/samples/isinstance1.py +0 -57
  886. package/src/tests/samples/isinstance10.py +0 -15
  887. package/src/tests/samples/isinstance2.py +0 -28
  888. package/src/tests/samples/isinstance3.py +0 -59
  889. package/src/tests/samples/isinstance4.py +0 -57
  890. package/src/tests/samples/isinstance5.py +0 -8
  891. package/src/tests/samples/isinstance6.py +0 -19
  892. package/src/tests/samples/isinstance7.py +0 -42
  893. package/src/tests/samples/isinstance9.py +0 -26
  894. package/src/tests/samples/kwargsUnpack1.py +0 -116
  895. package/src/tests/samples/lambda1.py +0 -77
  896. package/src/tests/samples/lambda2.py +0 -26
  897. package/src/tests/samples/lambda3.py +0 -34
  898. package/src/tests/samples/lambda4.py +0 -70
  899. package/src/tests/samples/lambda5.py +0 -23
  900. package/src/tests/samples/lambda6.py +0 -15
  901. package/src/tests/samples/lines1.py +0 -14
  902. package/src/tests/samples/list1.py +0 -90
  903. package/src/tests/samples/listComprehension1.py +0 -45
  904. package/src/tests/samples/listComprehension2.py +0 -17
  905. package/src/tests/samples/listComprehension3.py +0 -12
  906. package/src/tests/samples/listComprehension4.py +0 -15
  907. package/src/tests/samples/listComprehension5.py +0 -20
  908. package/src/tests/samples/listComprehension6.py +0 -14
  909. package/src/tests/samples/listComprehension7.py +0 -15
  910. package/src/tests/samples/listComprehension8.py +0 -15
  911. package/src/tests/samples/literalString1.py +0 -43
  912. package/src/tests/samples/literals1.py +0 -48
  913. package/src/tests/samples/literals2.py +0 -30
  914. package/src/tests/samples/literals3.py +0 -40
  915. package/src/tests/samples/literals4.py +0 -10
  916. package/src/tests/samples/literals5.py +0 -28
  917. package/src/tests/samples/literals6.py +0 -90
  918. package/src/tests/samples/literals7.py +0 -38
  919. package/src/tests/samples/loops1.py +0 -45
  920. package/src/tests/samples/loops10.py +0 -11
  921. package/src/tests/samples/loops11.py +0 -22
  922. package/src/tests/samples/loops12.py +0 -18
  923. package/src/tests/samples/loops13.py +0 -13
  924. package/src/tests/samples/loops14.py +0 -22
  925. package/src/tests/samples/loops15.py +0 -22
  926. package/src/tests/samples/loops16.py +0 -322
  927. package/src/tests/samples/loops17.py +0 -9
  928. package/src/tests/samples/loops18.py +0 -23
  929. package/src/tests/samples/loops19.py +0 -14
  930. package/src/tests/samples/loops2.py +0 -25
  931. package/src/tests/samples/loops20.py +0 -41
  932. package/src/tests/samples/loops21.py +0 -18
  933. package/src/tests/samples/loops22.py +0 -21
  934. package/src/tests/samples/loops23.py +0 -16
  935. package/src/tests/samples/loops24.py +0 -12
  936. package/src/tests/samples/loops25.py +0 -45
  937. package/src/tests/samples/loops26.py +0 -12
  938. package/src/tests/samples/loops3.py +0 -11
  939. package/src/tests/samples/loops4.py +0 -17
  940. package/src/tests/samples/loops5.py +0 -14
  941. package/src/tests/samples/loops6.py +0 -25
  942. package/src/tests/samples/loops7.py +0 -14
  943. package/src/tests/samples/loops8.py +0 -17
  944. package/src/tests/samples/loops9.py +0 -25
  945. package/src/tests/samples/match1.py +0 -190
  946. package/src/tests/samples/match10.py +0 -67
  947. package/src/tests/samples/match2.py +0 -340
  948. package/src/tests/samples/match3.py +0 -364
  949. package/src/tests/samples/match4.py +0 -100
  950. package/src/tests/samples/match5.py +0 -70
  951. package/src/tests/samples/match6.py +0 -64
  952. package/src/tests/samples/match7.py +0 -65
  953. package/src/tests/samples/match8.py +0 -19
  954. package/src/tests/samples/match9.py +0 -53
  955. package/src/tests/samples/maxParseDepth1.py +0 -499
  956. package/src/tests/samples/maxParseDepth2.py +0 -16
  957. package/src/tests/samples/memberAccess1.py +0 -70
  958. package/src/tests/samples/memberAccess10.py +0 -65
  959. package/src/tests/samples/memberAccess11.py +0 -37
  960. package/src/tests/samples/memberAccess12.py +0 -36
  961. package/src/tests/samples/memberAccess13.py +0 -17
  962. package/src/tests/samples/memberAccess14.py +0 -63
  963. package/src/tests/samples/memberAccess15.py +0 -20
  964. package/src/tests/samples/memberAccess16.py +0 -12
  965. package/src/tests/samples/memberAccess17.py +0 -31
  966. package/src/tests/samples/memberAccess18.py +0 -31
  967. package/src/tests/samples/memberAccess2.py +0 -45
  968. package/src/tests/samples/memberAccess3.py +0 -64
  969. package/src/tests/samples/memberAccess4.py +0 -91
  970. package/src/tests/samples/memberAccess5.py +0 -26
  971. package/src/tests/samples/memberAccess6.py +0 -52
  972. package/src/tests/samples/memberAccess7.py +0 -36
  973. package/src/tests/samples/memberAccess8.py +0 -75
  974. package/src/tests/samples/memberAccess9.py +0 -11
  975. package/src/tests/samples/metaclass1.py +0 -7
  976. package/src/tests/samples/metaclass2.py +0 -35
  977. package/src/tests/samples/metaclass3.py +0 -43
  978. package/src/tests/samples/metaclass4.py +0 -26
  979. package/src/tests/samples/metaclass5.py +0 -33
  980. package/src/tests/samples/metaclass6.py +0 -15
  981. package/src/tests/samples/metaclass7.py +0 -38
  982. package/src/tests/samples/metaclass8.py +0 -20
  983. package/src/tests/samples/metaclass9.py +0 -77
  984. package/src/tests/samples/methodOverride1.py +0 -507
  985. package/src/tests/samples/methodOverride2.py +0 -74
  986. package/src/tests/samples/methodOverride3.py +0 -111
  987. package/src/tests/samples/methodOverride4.py +0 -36
  988. package/src/tests/samples/missingSuper1.py +0 -73
  989. package/src/tests/samples/module1.py +0 -13
  990. package/src/tests/samples/module2.py +0 -7
  991. package/src/tests/samples/mro1.py +0 -16
  992. package/src/tests/samples/mro2.py +0 -45
  993. package/src/tests/samples/mro3.py +0 -30
  994. package/src/tests/samples/mro4.py +0 -30
  995. package/src/tests/samples/nameBindings1.py +0 -48
  996. package/src/tests/samples/nameBindings2.py +0 -9
  997. package/src/tests/samples/nameBindings3.py +0 -36
  998. package/src/tests/samples/nameBindings4.py +0 -10
  999. package/src/tests/samples/nameBindings5.py +0 -53
  1000. package/src/tests/samples/namedTuples1.py +0 -103
  1001. package/src/tests/samples/namedTuples2.py +0 -56
  1002. package/src/tests/samples/namedTuples3.py +0 -15
  1003. package/src/tests/samples/namedTuples4.py +0 -24
  1004. package/src/tests/samples/namedTuples5.py +0 -15
  1005. package/src/tests/samples/namedTuples6.py +0 -31
  1006. package/src/tests/samples/namedTuples7.py +0 -27
  1007. package/src/tests/samples/never1.py +0 -12
  1008. package/src/tests/samples/never2.py +0 -43
  1009. package/src/tests/samples/newType1.py +0 -34
  1010. package/src/tests/samples/newType2.py +0 -25
  1011. package/src/tests/samples/newType3.py +0 -34
  1012. package/src/tests/samples/newType4.py +0 -8
  1013. package/src/tests/samples/none1.py +0 -29
  1014. package/src/tests/samples/none2.py +0 -22
  1015. package/src/tests/samples/noreturn1.py +0 -78
  1016. package/src/tests/samples/noreturn2.py +0 -37
  1017. package/src/tests/samples/noreturn3.py +0 -16
  1018. package/src/tests/samples/noreturn4.py +0 -29
  1019. package/src/tests/samples/operators1.py +0 -101
  1020. package/src/tests/samples/operators2.py +0 -30
  1021. package/src/tests/samples/operators3.py +0 -8
  1022. package/src/tests/samples/operators4.py +0 -22
  1023. package/src/tests/samples/operators5.py +0 -5
  1024. package/src/tests/samples/operators6.py +0 -10
  1025. package/src/tests/samples/operators7.py +0 -24
  1026. package/src/tests/samples/operators8.py +0 -125
  1027. package/src/tests/samples/optional1.py +0 -77
  1028. package/src/tests/samples/optional2.py +0 -23
  1029. package/src/tests/samples/overload1.py +0 -50
  1030. package/src/tests/samples/overload10.py +0 -48
  1031. package/src/tests/samples/overload2.py +0 -37
  1032. package/src/tests/samples/overload3.py +0 -29
  1033. package/src/tests/samples/overload4.py +0 -46
  1034. package/src/tests/samples/overload5.py +0 -333
  1035. package/src/tests/samples/overload6.py +0 -64
  1036. package/src/tests/samples/overload7.py +0 -376
  1037. package/src/tests/samples/overload8.py +0 -89
  1038. package/src/tests/samples/overload9.py +0 -19
  1039. package/src/tests/samples/package1/__init__.py +0 -3
  1040. package/src/tests/samples/package1/psyche/pysche.py +0 -4
  1041. package/src/tests/samples/package1/psyche.py +0 -4
  1042. package/src/tests/samples/package1/sub/__init__.py +0 -5
  1043. package/src/tests/samples/package1/sub.py +0 -4
  1044. package/src/tests/samples/package1/sub.pyi +0 -2
  1045. package/src/tests/samples/paramInference1.py +0 -27
  1046. package/src/tests/samples/paramNames1.py +0 -39
  1047. package/src/tests/samples/paramSpec1.py +0 -64
  1048. package/src/tests/samples/paramSpec10.py +0 -57
  1049. package/src/tests/samples/paramSpec11.py +0 -36
  1050. package/src/tests/samples/paramSpec12.py +0 -88
  1051. package/src/tests/samples/paramSpec13.py +0 -112
  1052. package/src/tests/samples/paramSpec14.py +0 -30
  1053. package/src/tests/samples/paramSpec15.py +0 -28
  1054. package/src/tests/samples/paramSpec16.py +0 -28
  1055. package/src/tests/samples/paramSpec17.py +0 -34
  1056. package/src/tests/samples/paramSpec18.py +0 -43
  1057. package/src/tests/samples/paramSpec19.py +0 -93
  1058. package/src/tests/samples/paramSpec2.py +0 -29
  1059. package/src/tests/samples/paramSpec20.py +0 -87
  1060. package/src/tests/samples/paramSpec21.py +0 -58
  1061. package/src/tests/samples/paramSpec22.py +0 -26
  1062. package/src/tests/samples/paramSpec23.py +0 -21
  1063. package/src/tests/samples/paramSpec24.py +0 -67
  1064. package/src/tests/samples/paramSpec25.py +0 -36
  1065. package/src/tests/samples/paramSpec26.py +0 -25
  1066. package/src/tests/samples/paramSpec27.py +0 -57
  1067. package/src/tests/samples/paramSpec28.py +0 -39
  1068. package/src/tests/samples/paramSpec29.py +0 -37
  1069. package/src/tests/samples/paramSpec3.py +0 -71
  1070. package/src/tests/samples/paramSpec30.py +0 -49
  1071. package/src/tests/samples/paramSpec31.py +0 -16
  1072. package/src/tests/samples/paramSpec32.py +0 -57
  1073. package/src/tests/samples/paramSpec33.py +0 -29
  1074. package/src/tests/samples/paramSpec34.py +0 -29
  1075. package/src/tests/samples/paramSpec35.py +0 -24
  1076. package/src/tests/samples/paramSpec36.py +0 -43
  1077. package/src/tests/samples/paramSpec37.py +0 -25
  1078. package/src/tests/samples/paramSpec4.py +0 -109
  1079. package/src/tests/samples/paramSpec5.py +0 -29
  1080. package/src/tests/samples/paramSpec6.py +0 -17
  1081. package/src/tests/samples/paramSpec7.py +0 -22
  1082. package/src/tests/samples/paramSpec8.py +0 -45
  1083. package/src/tests/samples/paramSpec9.py +0 -57
  1084. package/src/tests/samples/paramType1.py +0 -71
  1085. package/src/tests/samples/parameters1.py +0 -16
  1086. package/src/tests/samples/partial1.py +0 -163
  1087. package/src/tests/samples/partial2.py +0 -31
  1088. package/src/tests/samples/private1.py +0 -55
  1089. package/src/tests/samples/private2.py +0 -11
  1090. package/src/tests/samples/project1/pyrightconfig.json +0 -5
  1091. package/src/tests/samples/project1/sample1.py +0 -0
  1092. package/src/tests/samples/project1/subfolder1/sample2.py +0 -0
  1093. package/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py +0 -0
  1094. package/src/tests/samples/project2/pyrightconfig.json +0 -3
  1095. package/src/tests/samples/project3/pyrightconfig.json +0 -7
  1096. package/src/tests/samples/project4/presentfile.py +0 -0
  1097. package/src/tests/samples/project4/pyrightconfig.json +0 -11
  1098. package/src/tests/samples/project4/subfolder/presentfile2.py +0 -0
  1099. package/src/tests/samples/project4/subfolder/presentfile3.py +0 -0
  1100. package/src/tests/samples/project5/pyrightconfig.json +0 -4
  1101. package/src/tests/samples/project6/app1.py +0 -0
  1102. package/src/tests/samples/project6/app2.py +0 -0
  1103. package/src/tests/samples/project6/projectA/foo/__init__.py +0 -0
  1104. package/src/tests/samples/project6/projectA/foo/bar/__init__.py +0 -0
  1105. package/src/tests/samples/project6/projectB/foo/__init__.py +0 -0
  1106. package/src/tests/samples/project6/projectB/foo/baz/__init__.py +0 -0
  1107. package/src/tests/samples/project_src/src/module1.py +0 -0
  1108. package/src/tests/samples/project_src_is_pkg/src/__init__.py +0 -0
  1109. package/src/tests/samples/project_src_is_pkg/src/module1.py +0 -0
  1110. package/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json +0 -3
  1111. package/src/tests/samples/project_src_with_config_extra_paths/src/module1.py +0 -0
  1112. package/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json +0 -2
  1113. package/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py +0 -0
  1114. package/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py +0 -1
  1115. package/src/tests/samples/project_src_with_extra_paths/src/module1.py +0 -2
  1116. package/src/tests/samples/project_with_pyproject_toml/pyproject.toml +0 -7
  1117. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py +0 -0
  1118. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg +0 -0
  1119. package/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json +0 -2
  1120. package/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py +0 -0
  1121. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py +0 -0
  1122. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py +0 -0
  1123. package/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py +0 -0
  1124. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py +0 -0
  1125. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg +0 -0
  1126. package/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json +0 -3
  1127. package/src/tests/samples/project_with_venv_auto_detect_include/sample1.py +0 -0
  1128. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py +0 -0
  1129. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py +0 -0
  1130. package/src/tests/samples/properties1.py +0 -64
  1131. package/src/tests/samples/properties10.py +0 -19
  1132. package/src/tests/samples/properties11.py +0 -45
  1133. package/src/tests/samples/properties12.py +0 -23
  1134. package/src/tests/samples/properties13.py +0 -15
  1135. package/src/tests/samples/properties2.py +0 -34
  1136. package/src/tests/samples/properties3.py +0 -93
  1137. package/src/tests/samples/properties4.py +0 -17
  1138. package/src/tests/samples/properties5.py +0 -29
  1139. package/src/tests/samples/properties6.py +0 -35
  1140. package/src/tests/samples/properties7.py +0 -30
  1141. package/src/tests/samples/properties8.py +0 -26
  1142. package/src/tests/samples/properties9.py +0 -24
  1143. package/src/tests/samples/protocol1.py +0 -132
  1144. package/src/tests/samples/protocol10.py +0 -36
  1145. package/src/tests/samples/protocol11.py +0 -32
  1146. package/src/tests/samples/protocol12.py +0 -12
  1147. package/src/tests/samples/protocol13.py +0 -26
  1148. package/src/tests/samples/protocol14.py +0 -27
  1149. package/src/tests/samples/protocol15.py +0 -27
  1150. package/src/tests/samples/protocol16.py +0 -22
  1151. package/src/tests/samples/protocol17.py +0 -94
  1152. package/src/tests/samples/protocol18.py +0 -27
  1153. package/src/tests/samples/protocol19.py +0 -39
  1154. package/src/tests/samples/protocol2.py +0 -38
  1155. package/src/tests/samples/protocol20.py +0 -22
  1156. package/src/tests/samples/protocol21.py +0 -26
  1157. package/src/tests/samples/protocol22.py +0 -43
  1158. package/src/tests/samples/protocol23.py +0 -41
  1159. package/src/tests/samples/protocol24.py +0 -74
  1160. package/src/tests/samples/protocol25.py +0 -31
  1161. package/src/tests/samples/protocol26.py +0 -40
  1162. package/src/tests/samples/protocol27.py +0 -76
  1163. package/src/tests/samples/protocol28.py +0 -32
  1164. package/src/tests/samples/protocol29.py +0 -26
  1165. package/src/tests/samples/protocol3.py +0 -110
  1166. package/src/tests/samples/protocol30.py +0 -30
  1167. package/src/tests/samples/protocol31.py +0 -22
  1168. package/src/tests/samples/protocol32.py +0 -67
  1169. package/src/tests/samples/protocol33.py +0 -39
  1170. package/src/tests/samples/protocol34.py +0 -21
  1171. package/src/tests/samples/protocol4.py +0 -22
  1172. package/src/tests/samples/protocol5.py +0 -25
  1173. package/src/tests/samples/protocol6.py +0 -65
  1174. package/src/tests/samples/protocol7.py +0 -24
  1175. package/src/tests/samples/protocol8.py +0 -34
  1176. package/src/tests/samples/protocol9.py +0 -35
  1177. package/src/tests/samples/protocolModule1.py +0 -15
  1178. package/src/tests/samples/protocolModule2.py +0 -83
  1179. package/src/tests/samples/protocolModule3.py +0 -14
  1180. package/src/tests/samples/protocolModule4.py +0 -26
  1181. package/src/tests/samples/pseudoGeneric1.py +0 -20
  1182. package/src/tests/samples/pyrightIgnore1.py +0 -11
  1183. package/src/tests/samples/pyrightIgnore2.py +0 -24
  1184. package/src/tests/samples/python2.py +0 -31
  1185. package/src/tests/samples/recursiveTypeAlias1.py +0 -79
  1186. package/src/tests/samples/recursiveTypeAlias2.py +0 -32
  1187. package/src/tests/samples/recursiveTypeAlias3.py +0 -26
  1188. package/src/tests/samples/recursiveTypeAlias4.py +0 -55
  1189. package/src/tests/samples/recursiveTypeAlias5.pyi +0 -10
  1190. package/src/tests/samples/recursiveTypeAlias6.py +0 -25
  1191. package/src/tests/samples/recursiveTypeAlias7.py +0 -15
  1192. package/src/tests/samples/recursiveTypeAlias8.py +0 -38
  1193. package/src/tests/samples/recursiveTypeAlias9.py +0 -22
  1194. package/src/tests/samples/required1.py +0 -47
  1195. package/src/tests/samples/required2.py +0 -56
  1196. package/src/tests/samples/required3.py +0 -22
  1197. package/src/tests/samples/returnTypes1.py +0 -26
  1198. package/src/tests/samples/revealedType1.py +0 -30
  1199. package/src/tests/samples/sample1.py +0 -6
  1200. package/src/tests/samples/self1.py +0 -93
  1201. package/src/tests/samples/self2.py +0 -195
  1202. package/src/tests/samples/self3.py +0 -9
  1203. package/src/tests/samples/self4.py +0 -18
  1204. package/src/tests/samples/self5.py +0 -26
  1205. package/src/tests/samples/setComprehension1.py +0 -34
  1206. package/src/tests/samples/slots1.py +0 -63
  1207. package/src/tests/samples/slots2.py +0 -38
  1208. package/src/tests/samples/slots3.py +0 -35
  1209. package/src/tests/samples/specialization1.py +0 -78
  1210. package/src/tests/samples/specialization2.py +0 -51
  1211. package/src/tests/samples/staticExpressions1.py +0 -52
  1212. package/src/tests/samples/strings1.py +0 -22
  1213. package/src/tests/samples/subscript1.py +0 -74
  1214. package/src/tests/samples/subscript2.py +0 -55
  1215. package/src/tests/samples/subscript3.py +0 -135
  1216. package/src/tests/samples/suiteExpectedColon1.py +0 -4
  1217. package/src/tests/samples/suiteExpectedColon2.py +0 -2
  1218. package/src/tests/samples/suiteExpectedColon3.py +0 -2
  1219. package/src/tests/samples/super1.py +0 -57
  1220. package/src/tests/samples/super2.py +0 -29
  1221. package/src/tests/samples/super3.py +0 -10
  1222. package/src/tests/samples/super4.py +0 -24
  1223. package/src/tests/samples/super5.py +0 -28
  1224. package/src/tests/samples/super6.py +0 -17
  1225. package/src/tests/samples/super7.py +0 -52
  1226. package/src/tests/samples/super8.py +0 -7
  1227. package/src/tests/samples/super9.py +0 -36
  1228. package/src/tests/samples/test_file1.py +0 -0
  1229. package/src/tests/samples/threePartVersion1.py +0 -33
  1230. package/src/tests/samples/totalOrdering1.py +0 -52
  1231. package/src/tests/samples/tryExcept1.py +0 -39
  1232. package/src/tests/samples/tryExcept10.py +0 -12
  1233. package/src/tests/samples/tryExcept2.py +0 -16
  1234. package/src/tests/samples/tryExcept3.py +0 -12
  1235. package/src/tests/samples/tryExcept4.py +0 -28
  1236. package/src/tests/samples/tryExcept5.py +0 -30
  1237. package/src/tests/samples/tryExcept6.py +0 -27
  1238. package/src/tests/samples/tryExcept7.py +0 -17
  1239. package/src/tests/samples/tryExcept8.py +0 -69
  1240. package/src/tests/samples/tryExcept9.py +0 -42
  1241. package/src/tests/samples/tupleUnpack1.py +0 -63
  1242. package/src/tests/samples/tupleUnpack2.py +0 -56
  1243. package/src/tests/samples/tupleUnpack3.py +0 -28
  1244. package/src/tests/samples/tuples1.py +0 -185
  1245. package/src/tests/samples/tuples10.py +0 -30
  1246. package/src/tests/samples/tuples11.py +0 -21
  1247. package/src/tests/samples/tuples12.py +0 -31
  1248. package/src/tests/samples/tuples13.py +0 -26
  1249. package/src/tests/samples/tuples15.py +0 -16
  1250. package/src/tests/samples/tuples16.py +0 -14
  1251. package/src/tests/samples/tuples2.py +0 -23
  1252. package/src/tests/samples/tuples3.py +0 -15
  1253. package/src/tests/samples/tuples4.py +0 -21
  1254. package/src/tests/samples/tuples5.py +0 -16
  1255. package/src/tests/samples/tuples6.py +0 -56
  1256. package/src/tests/samples/tuples7.py +0 -61
  1257. package/src/tests/samples/tuples8.py +0 -98
  1258. package/src/tests/samples/tuples9.py +0 -17
  1259. package/src/tests/samples/typeAlias1.py +0 -37
  1260. package/src/tests/samples/typeAlias10.py +0 -45
  1261. package/src/tests/samples/typeAlias11.py +0 -37
  1262. package/src/tests/samples/typeAlias12.py +0 -20
  1263. package/src/tests/samples/typeAlias13.py +0 -53
  1264. package/src/tests/samples/typeAlias14.py +0 -29
  1265. package/src/tests/samples/typeAlias15.py +0 -24
  1266. package/src/tests/samples/typeAlias16.py +0 -24
  1267. package/src/tests/samples/typeAlias2.py +0 -26
  1268. package/src/tests/samples/typeAlias3.py +0 -35
  1269. package/src/tests/samples/typeAlias4.py +0 -68
  1270. package/src/tests/samples/typeAlias5.py +0 -56
  1271. package/src/tests/samples/typeAlias6.py +0 -51
  1272. package/src/tests/samples/typeAlias7.py +0 -50
  1273. package/src/tests/samples/typeAlias8.py +0 -24
  1274. package/src/tests/samples/typeAlias9.py +0 -35
  1275. package/src/tests/samples/typeGuard1.py +0 -68
  1276. package/src/tests/samples/typeGuard2.py +0 -58
  1277. package/src/tests/samples/typeGuard3.py +0 -98
  1278. package/src/tests/samples/typeIgnore1.py +0 -10
  1279. package/src/tests/samples/typeIgnore2.py +0 -20
  1280. package/src/tests/samples/typeIgnore3.py +0 -22
  1281. package/src/tests/samples/typeIgnore4.py +0 -10
  1282. package/src/tests/samples/typeIgnore5.py +0 -7
  1283. package/src/tests/samples/typeNarrowing1.py +0 -56
  1284. package/src/tests/samples/typeNarrowing2.py +0 -14
  1285. package/src/tests/samples/typeNarrowing3.py +0 -47
  1286. package/src/tests/samples/typeNarrowing4.py +0 -24
  1287. package/src/tests/samples/typeNarrowing5.py +0 -19
  1288. package/src/tests/samples/typeNarrowing6.py +0 -27
  1289. package/src/tests/samples/typeNarrowing7.py +0 -71
  1290. package/src/tests/samples/typeNarrowingAssert1.py +0 -24
  1291. package/src/tests/samples/typeNarrowingCallable1.py +0 -78
  1292. package/src/tests/samples/typeNarrowingEnum1.py +0 -58
  1293. package/src/tests/samples/typeNarrowingEnum2.py +0 -71
  1294. package/src/tests/samples/typeNarrowingFalsy1.py +0 -50
  1295. package/src/tests/samples/typeNarrowingIn1.py +0 -97
  1296. package/src/tests/samples/typeNarrowingIsNone1.py +0 -56
  1297. package/src/tests/samples/typeNarrowingIsNone2.py +0 -8
  1298. package/src/tests/samples/typeNarrowingIsNoneTuple1.py +0 -42
  1299. package/src/tests/samples/typeNarrowingIsNoneTuple2.py +0 -35
  1300. package/src/tests/samples/typeNarrowingIsinstance1.py +0 -162
  1301. package/src/tests/samples/typeNarrowingIsinstance2.py +0 -14
  1302. package/src/tests/samples/typeNarrowingIsinstance3.py +0 -78
  1303. package/src/tests/samples/typeNarrowingIsinstance4.py +0 -50
  1304. package/src/tests/samples/typeNarrowingIsinstance5.py +0 -39
  1305. package/src/tests/samples/typeNarrowingIsinstance6.py +0 -77
  1306. package/src/tests/samples/typeNarrowingIsinstance7.py +0 -19
  1307. package/src/tests/samples/typeNarrowingIsinstance8.py +0 -19
  1308. package/src/tests/samples/typeNarrowingLiteral1.py +0 -35
  1309. package/src/tests/samples/typeNarrowingLiteral2.py +0 -63
  1310. package/src/tests/samples/typeNarrowingLiteralMember1.py +0 -140
  1311. package/src/tests/samples/typeNarrowingLocalConst1.py +0 -136
  1312. package/src/tests/samples/typeNarrowingNoneMember1.py +0 -102
  1313. package/src/tests/samples/typeNarrowingTuple1.py +0 -23
  1314. package/src/tests/samples/typeNarrowingTupleLength1.py +0 -47
  1315. package/src/tests/samples/typeNarrowingTypeIs1.py +0 -95
  1316. package/src/tests/samples/typeNarrowingTypedDict1.py +0 -99
  1317. package/src/tests/samples/typeNarrowingTypedDict2.py +0 -35
  1318. package/src/tests/samples/typeNarrowingTypedDict3.py +0 -45
  1319. package/src/tests/samples/typePromotions1.py +0 -30
  1320. package/src/tests/samples/typeVar1.py +0 -23
  1321. package/src/tests/samples/typeVar10.py +0 -21
  1322. package/src/tests/samples/typeVar11.py +0 -12
  1323. package/src/tests/samples/typeVar2.py +0 -26
  1324. package/src/tests/samples/typeVar3.py +0 -73
  1325. package/src/tests/samples/typeVar4.py +0 -45
  1326. package/src/tests/samples/typeVar5.py +0 -75
  1327. package/src/tests/samples/typeVar6.py +0 -115
  1328. package/src/tests/samples/typeVar7.py +0 -171
  1329. package/src/tests/samples/typeVar8.py +0 -30
  1330. package/src/tests/samples/typeVar9.py +0 -118
  1331. package/src/tests/samples/typedDict1.py +0 -63
  1332. package/src/tests/samples/typedDict10.py +0 -34
  1333. package/src/tests/samples/typedDict11.py +0 -12
  1334. package/src/tests/samples/typedDict12.py +0 -103
  1335. package/src/tests/samples/typedDict13.py +0 -14
  1336. package/src/tests/samples/typedDict14.py +0 -25
  1337. package/src/tests/samples/typedDict15.py +0 -53
  1338. package/src/tests/samples/typedDict16.py +0 -103
  1339. package/src/tests/samples/typedDict17.py +0 -24
  1340. package/src/tests/samples/typedDict18.py +0 -43
  1341. package/src/tests/samples/typedDict2.py +0 -56
  1342. package/src/tests/samples/typedDict3.py +0 -40
  1343. package/src/tests/samples/typedDict4.py +0 -68
  1344. package/src/tests/samples/typedDict5.py +0 -50
  1345. package/src/tests/samples/typedDict6.py +0 -77
  1346. package/src/tests/samples/typedDict7.py +0 -22
  1347. package/src/tests/samples/typedDict8.py +0 -19
  1348. package/src/tests/samples/typedDict9.py +0 -22
  1349. package/src/tests/samples/unbound1.py +0 -18
  1350. package/src/tests/samples/unbound2.py +0 -12
  1351. package/src/tests/samples/unbound3.py +0 -13
  1352. package/src/tests/samples/unbound4.py +0 -25
  1353. package/src/tests/samples/unicode1.py +0 -39
  1354. package/src/tests/samples/uninitializedVariable1.py +0 -27
  1355. package/src/tests/samples/unions1.py +0 -79
  1356. package/src/tests/samples/unions2.py +0 -15
  1357. package/src/tests/samples/unions3.py +0 -48
  1358. package/src/tests/samples/unions4.py +0 -20
  1359. package/src/tests/samples/unions5.py +0 -43
  1360. package/src/tests/samples/unnecessaryCast1.py +0 -13
  1361. package/src/tests/samples/unnecessaryIsInstance1.py +0 -91
  1362. package/src/tests/samples/unnecessaryIsSubclass1.py +0 -22
  1363. package/src/tests/samples/unpack1.py +0 -56
  1364. package/src/tests/samples/unpack2.py +0 -27
  1365. package/src/tests/samples/unpack3.py +0 -16
  1366. package/src/tests/samples/unpack4.py +0 -15
  1367. package/src/tests/samples/unreachable1.py +0 -112
  1368. package/src/tests/samples/unusedCallResult1.py +0 -67
  1369. package/src/tests/samples/unusedCoroutine1.py +0 -23
  1370. package/src/tests/samples/unusedExpression1.py +0 -34
  1371. package/src/tests/samples/unusedVariable1.py +0 -21
  1372. package/src/tests/samples/variadicTypeVar1.py +0 -51
  1373. package/src/tests/samples/variadicTypeVar10.py +0 -65
  1374. package/src/tests/samples/variadicTypeVar11.py +0 -72
  1375. package/src/tests/samples/variadicTypeVar12.py +0 -26
  1376. package/src/tests/samples/variadicTypeVar13.py +0 -35
  1377. package/src/tests/samples/variadicTypeVar14.py +0 -72
  1378. package/src/tests/samples/variadicTypeVar2.py +0 -63
  1379. package/src/tests/samples/variadicTypeVar3.py +0 -86
  1380. package/src/tests/samples/variadicTypeVar4.py +0 -71
  1381. package/src/tests/samples/variadicTypeVar5.py +0 -131
  1382. package/src/tests/samples/variadicTypeVar6.py +0 -78
  1383. package/src/tests/samples/variadicTypeVar7.py +0 -59
  1384. package/src/tests/samples/variadicTypeVar8.py +0 -116
  1385. package/src/tests/samples/variadicTypeVar9.py +0 -38
  1386. package/src/tests/samples/with1.py +0 -117
  1387. package/src/tests/samples/with2.py +0 -63
  1388. package/src/tests/samples/with3.py +0 -66
  1389. package/src/tests/samples/with4.py +0 -24
  1390. package/src/tests/samples/with5.py +0 -33
  1391. package/src/tests/samples/zipfs/bad.egg +0 -1
  1392. package/src/tests/samples/zipfs/bad.zip +0 -1
  1393. package/src/tests/samples/zipfs/basic.egg +0 -0
  1394. package/src/tests/samples/zipfs/basic.zip +0 -0
  1395. package/src/tests/samples/zipfs/corrupt.egg +0 -0
  1396. package/src/tests/samples/zipfs/corrupt.zip +0 -0
  1397. package/src/tests/sourceFile.test.ts +0 -25
  1398. package/src/tests/stringUtils.test.ts +0 -63
  1399. package/src/tests/symbolNameUtils.test.ts +0 -77
  1400. package/src/tests/testState.test.ts +0 -579
  1401. package/src/tests/testUtils.ts +0 -251
  1402. package/src/tests/tokenizer.test.ts +0 -1534
  1403. package/src/tests/typeEvaluator1.test.ts +0 -1372
  1404. package/src/tests/typeEvaluator2.test.ts +0 -1253
  1405. package/src/tests/typeEvaluator3.test.ts +0 -1279
  1406. package/src/tests/typeEvaluator4.test.ts +0 -1178
  1407. package/src/tests/updateSymbolReference.test.ts +0 -1107
  1408. package/src/tests/zipfs.test.ts +0 -116
  1409. package/src/workspaceMap.ts +0 -76
@@ -1,1556 +0,0 @@
1
- /*
2
- * languageServerBase.ts
3
- * Copyright (c) Microsoft Corporation.
4
- * Licensed under the MIT license.
5
- *
6
- * Implements common language server functionality.
7
- * This is split out as a base class to allow for
8
- * different language server variants to be created
9
- * from the same core functionality.
10
- */
11
-
12
- import './common/extensions';
13
-
14
- import {
15
- CallHierarchyIncomingCallsParams,
16
- CallHierarchyItem,
17
- CallHierarchyOutgoingCall,
18
- CallHierarchyOutgoingCallsParams,
19
- CallHierarchyPrepareParams,
20
- CancellationToken,
21
- CancellationTokenSource,
22
- CodeAction,
23
- CodeActionParams,
24
- Command,
25
- CompletionItem,
26
- CompletionList,
27
- CompletionParams,
28
- CompletionTriggerKind,
29
- ConfigurationItem,
30
- Connection,
31
- Declaration,
32
- DeclarationLink,
33
- Definition,
34
- DefinitionLink,
35
- Diagnostic,
36
- DiagnosticRelatedInformation,
37
- DiagnosticSeverity,
38
- DiagnosticTag,
39
- DidChangeConfigurationParams,
40
- DidChangeTextDocumentParams,
41
- DidChangeWatchedFilesNotification,
42
- DidChangeWatchedFilesParams,
43
- DidCloseTextDocumentParams,
44
- DidOpenTextDocumentParams,
45
- Disposable,
46
- DocumentHighlight,
47
- DocumentHighlightParams,
48
- DocumentSymbol,
49
- DocumentSymbolParams,
50
- ExecuteCommandParams,
51
- FileSystemWatcher,
52
- HoverParams,
53
- InitializeParams,
54
- InitializeResult,
55
- Location,
56
- MarkupKind,
57
- ParameterInformation,
58
- PrepareRenameParams,
59
- PublishDiagnosticsParams,
60
- ReferenceParams,
61
- RemoteWindow,
62
- RenameParams,
63
- SignatureHelp,
64
- SignatureHelpParams,
65
- SignatureHelpTriggerKind,
66
- SignatureInformation,
67
- SymbolInformation,
68
- TextDocumentPositionParams,
69
- TextDocumentSyncKind,
70
- WatchKind,
71
- WorkDoneProgressReporter,
72
- WorkspaceEdit,
73
- WorkspaceFolder,
74
- WorkspaceSymbol,
75
- WorkspaceSymbolParams,
76
- } from 'vscode-languageserver';
77
- import { attachWorkDone, ResultProgressReporter } from 'vscode-languageserver/lib/common/progress';
78
-
79
- import { AnalysisResults } from './analyzer/analysis';
80
- import { BackgroundAnalysisProgram } from './analyzer/backgroundAnalysisProgram';
81
- import { ImportResolver } from './analyzer/importResolver';
82
- import { MaxAnalysisTime } from './analyzer/program';
83
- import { AnalyzerService, configFileNames } from './analyzer/service';
84
- import type { BackgroundAnalysisBase } from './backgroundAnalysisBase';
85
- import { CommandResult } from './commands/commandResult';
86
- import { CancelAfter, CancellationProvider } from './common/cancellationUtils';
87
- import { appendArray, getNestedProperty } from './common/collectionUtils';
88
- import {
89
- DiagnosticSeverityOverrides,
90
- DiagnosticSeverityOverridesMap,
91
- getDiagnosticSeverityOverrides,
92
- } from './common/commandLineOptions';
93
- import { ConfigOptions, getDiagLevelDiagnosticRules } from './common/configOptions';
94
- import { ConsoleInterface, ConsoleWithLogLevel, LogLevel } from './common/console';
95
- import { createDeferred, Deferred } from './common/deferred';
96
- import { Diagnostic as AnalyzerDiagnostic, DiagnosticCategory } from './common/diagnostic';
97
- import { DiagnosticRule } from './common/diagnosticRules';
98
- import { FileDiagnostics } from './common/diagnosticSink';
99
- import { LanguageServiceExtension } from './common/extensibility';
100
- import { FileSystem, FileWatcherEventType, FileWatcherProvider } from './common/fileSystem';
101
- import { Host } from './common/host';
102
- import { fromLSPAny } from './common/lspUtils';
103
- import { convertPathToUri, getDirectoryPath, getFileName, isFile } from './common/pathUtils';
104
- import { ProgressReporter, ProgressReportTracker } from './common/progressReporter';
105
- import { DocumentRange, Position, Range } from './common/textRange';
106
- import { UriParser } from './common/uriParser';
107
- import { convertWorkspaceDocumentEdits } from './common/workspaceEditUtils';
108
- import { AnalyzerServiceExecutor } from './languageService/analyzerServiceExecutor';
109
- import { CompletionItemData, CompletionOptions, CompletionResultsList } from './languageService/completionProvider';
110
- import { DefinitionFilter } from './languageService/definitionProvider';
111
- import { convertToFlatSymbols, WorkspaceSymbolCallback } from './languageService/documentSymbolProvider';
112
- import { convertHoverResults } from './languageService/hoverProvider';
113
- import { ReferenceCallback } from './languageService/referencesProvider';
114
- import { Localizer, setLocaleOverride } from './localization/localize';
115
- import { PyrightFileSystem } from './pyrightFileSystem';
116
- import { WorkspaceMap } from './workspaceMap';
117
-
118
- export interface ServerSettings {
119
- venvPath?: string | undefined;
120
- pythonPath?: string | undefined;
121
- typeshedPath?: string | undefined;
122
- stubPath?: string | undefined;
123
- openFilesOnly?: boolean | undefined;
124
- typeCheckingMode?: string | undefined;
125
- useLibraryCodeForTypes?: boolean | undefined;
126
- disableLanguageServices?: boolean | undefined;
127
- disableOrganizeImports?: boolean | undefined;
128
- autoSearchPaths?: boolean | undefined;
129
- extraPaths?: string[] | undefined;
130
- watchForSourceChanges?: boolean | undefined;
131
- watchForLibraryChanges?: boolean | undefined;
132
- watchForConfigChanges?: boolean | undefined;
133
- diagnosticSeverityOverrides?: DiagnosticSeverityOverridesMap | undefined;
134
- logLevel?: LogLevel | undefined;
135
- autoImportCompletions?: boolean | undefined;
136
- indexing?: boolean | undefined;
137
- logTypeEvaluationTime?: boolean | undefined;
138
- typeEvaluationTimeThreshold?: number | undefined;
139
- }
140
-
141
- export interface WorkspaceServiceInstance {
142
- workspaceName: string;
143
- rootPath: string;
144
- rootUri: string;
145
- serviceInstance: AnalyzerService;
146
- disableLanguageServices: boolean;
147
- disableOrganizeImports: boolean;
148
- disableWorkspaceSymbol?: boolean;
149
- isInitialized: Deferred<boolean>;
150
- searchPathsToWatch: string[];
151
- }
152
-
153
- export interface MessageAction {
154
- title: string;
155
- id: string;
156
- }
157
-
158
- export interface WindowInterface {
159
- showErrorMessage(message: string): void;
160
- showErrorMessage(message: string, ...actions: MessageAction[]): Promise<MessageAction | undefined>;
161
-
162
- showWarningMessage(message: string): void;
163
- showWarningMessage(message: string, ...actions: MessageAction[]): Promise<MessageAction | undefined>;
164
-
165
- showInformationMessage(message: string): void;
166
- showInformationMessage(message: string, ...actions: MessageAction[]): Promise<MessageAction | undefined>;
167
- }
168
-
169
- export interface LanguageServerInterface {
170
- getWorkspaceForFile(filePath: string): Promise<WorkspaceServiceInstance>;
171
- getSettings(workspace: WorkspaceServiceInstance): Promise<ServerSettings>;
172
- createBackgroundAnalysis(): BackgroundAnalysisBase | undefined;
173
- reanalyze(): void;
174
- restart(): void;
175
- decodeTextDocumentUri(uriString: string): string;
176
-
177
- readonly rootPath: string;
178
- readonly console: ConsoleInterface;
179
- readonly window: WindowInterface;
180
- readonly fs: FileSystem;
181
- readonly supportAdvancedEdits: boolean;
182
- }
183
-
184
- export interface ServerOptions {
185
- productName: string;
186
- rootDirectory: string;
187
- version: string;
188
- workspaceMap: WorkspaceMap;
189
- fileSystem: FileSystem;
190
- fileWatcherProvider: FileWatcherProvider;
191
- cancellationProvider: CancellationProvider;
192
- extension?: LanguageServiceExtension;
193
- maxAnalysisTimeInForeground?: MaxAnalysisTime;
194
- disableChecker?: boolean;
195
- supportedCommands?: string[];
196
- supportedCodeActions?: string[];
197
- }
198
-
199
- interface ClientCapabilities {
200
- hasConfigurationCapability: boolean;
201
- hasVisualStudioExtensionsCapability: boolean;
202
- hasWorkspaceFoldersCapability: boolean;
203
- hasWatchFileCapability: boolean;
204
- hasWatchFileRelativePathCapability: boolean;
205
- hasActiveParameterCapability: boolean;
206
- hasSignatureLabelOffsetCapability: boolean;
207
- hasHierarchicalDocumentSymbolCapability: boolean;
208
- hasWindowProgressCapability: boolean;
209
- hasGoToDeclarationCapability: boolean;
210
- hasDocumentChangeCapability: boolean;
211
- hasDocumentAnnotationCapability: boolean;
212
- hoverContentFormat: MarkupKind;
213
- completionDocFormat: MarkupKind;
214
- completionSupportsSnippet: boolean;
215
- signatureDocFormat: MarkupKind;
216
- supportsDeprecatedDiagnosticTag: boolean;
217
- supportsUnnecessaryDiagnosticTag: boolean;
218
- completionItemResolveSupportsAdditionalTextEdits: boolean;
219
- }
220
-
221
- const nullProgressReporter = attachWorkDone(undefined as any, /* params */ undefined);
222
-
223
- export abstract class LanguageServerBase implements LanguageServerInterface {
224
- protected _defaultClientConfig: any;
225
- protected _workspaceMap: WorkspaceMap;
226
- protected _fileWatcherProvider: FileWatcherProvider;
227
-
228
- // We support running only one "find all reference" at a time.
229
- private _pendingFindAllRefsCancellationSource: CancellationTokenSource | undefined;
230
-
231
- // We support running only one command at a time.
232
- private _pendingCommandCancellationSource: CancellationTokenSource | undefined;
233
-
234
- private _progressReporter: ProgressReporter;
235
-
236
- private _lastTriggerKind: CompletionTriggerKind | undefined = CompletionTriggerKind.Invoked;
237
-
238
- private _lastFileWatcherRegistration: Disposable | undefined;
239
-
240
- // Global root path - the basis for all global settings.
241
- rootPath = '';
242
-
243
- protected client: ClientCapabilities = {
244
- hasConfigurationCapability: false,
245
- hasVisualStudioExtensionsCapability: false,
246
- hasWorkspaceFoldersCapability: false,
247
- hasWatchFileCapability: false,
248
- hasWatchFileRelativePathCapability: false,
249
- hasActiveParameterCapability: false,
250
- hasSignatureLabelOffsetCapability: false,
251
- hasHierarchicalDocumentSymbolCapability: false,
252
- hasWindowProgressCapability: false,
253
- hasGoToDeclarationCapability: false,
254
- hasDocumentChangeCapability: false,
255
- hasDocumentAnnotationCapability: false,
256
- hoverContentFormat: MarkupKind.PlainText,
257
- completionDocFormat: MarkupKind.PlainText,
258
- completionSupportsSnippet: false,
259
- signatureDocFormat: MarkupKind.PlainText,
260
- supportsDeprecatedDiagnosticTag: false,
261
- supportsUnnecessaryDiagnosticTag: false,
262
- completionItemResolveSupportsAdditionalTextEdits: false,
263
- };
264
-
265
- // File system abstraction.
266
- fs: FileSystem;
267
-
268
- protected _uriParser: UriParser;
269
-
270
- constructor(
271
- protected _serverOptions: ServerOptions,
272
- protected _connection: Connection,
273
- readonly console: ConsoleInterface,
274
- uriParserFactory = (fs: FileSystem) => new UriParser(fs)
275
- ) {
276
- // Stash the base directory into a global variable.
277
- // This must happen before fs.getModulePath().
278
- (global as any).__rootDirectory = _serverOptions.rootDirectory;
279
-
280
- this.console.info(
281
- `${_serverOptions.productName} language server ${
282
- _serverOptions.version && _serverOptions.version + ' '
283
- }starting`
284
- );
285
-
286
- this.console.info(`Server root directory: ${_serverOptions.rootDirectory}`);
287
-
288
- this._workspaceMap = this._serverOptions.workspaceMap;
289
- this._fileWatcherProvider = this._serverOptions.fileWatcherProvider;
290
-
291
- this.fs = new PyrightFileSystem(this._serverOptions.fileSystem);
292
- this._uriParser = uriParserFactory(this.fs);
293
-
294
- // Set the working directory to a known location within
295
- // the extension directory. Otherwise the execution of
296
- // python can have unintended and surprising results.
297
- const moduleDirectory = this.fs.getModulePath();
298
- if (moduleDirectory) {
299
- this.fs.chdir(moduleDirectory);
300
- }
301
-
302
- // Set up callbacks.
303
- this.setupConnection(_serverOptions.supportedCommands ?? [], _serverOptions.supportedCodeActions ?? []);
304
-
305
- this._progressReporter = new ProgressReportTracker(this.createProgressReporter());
306
-
307
- // Listen on the connection.
308
- this._connection.listen();
309
- }
310
-
311
- // Convert uri to path
312
- decodeTextDocumentUri(uriString: string): string {
313
- return this._uriParser.decodeTextDocumentUri(uriString);
314
- }
315
-
316
- abstract createBackgroundAnalysis(): BackgroundAnalysisBase | undefined;
317
-
318
- protected abstract executeCommand(params: ExecuteCommandParams, token: CancellationToken): Promise<any>;
319
-
320
- protected abstract isLongRunningCommand(command: string): boolean;
321
-
322
- protected abstract executeCodeAction(
323
- params: CodeActionParams,
324
- token: CancellationToken
325
- ): Promise<(Command | CodeAction)[] | undefined | null>;
326
-
327
- abstract getSettings(workspace: WorkspaceServiceInstance): Promise<ServerSettings>;
328
-
329
- protected async getConfiguration(scopeUri: string | undefined, section: string) {
330
- if (this.client.hasConfigurationCapability) {
331
- const item: ConfigurationItem = {};
332
- if (scopeUri !== undefined) {
333
- item.scopeUri = scopeUri;
334
- }
335
- if (section !== undefined) {
336
- item.section = section;
337
- }
338
- return this._connection.workspace.getConfiguration(item);
339
- }
340
-
341
- if (this._defaultClientConfig) {
342
- return getNestedProperty(this._defaultClientConfig, section);
343
- }
344
-
345
- return undefined;
346
- }
347
-
348
- protected isOpenFilesOnly(diagnosticMode: string): boolean {
349
- return diagnosticMode !== 'workspace';
350
- }
351
-
352
- protected get allowModuleRename() {
353
- return false;
354
- }
355
-
356
- protected getSeverityOverrides(value: string): DiagnosticSeverityOverrides | undefined {
357
- const enumValue = value as DiagnosticSeverityOverrides;
358
- if (getDiagnosticSeverityOverrides().includes(enumValue)) {
359
- return enumValue;
360
- }
361
-
362
- return undefined;
363
- }
364
-
365
- protected getDiagnosticRuleName(value: string): DiagnosticRule | undefined {
366
- const enumValue = value as DiagnosticRule;
367
- if (getDiagLevelDiagnosticRules().includes(enumValue)) {
368
- return enumValue;
369
- }
370
-
371
- return undefined;
372
- }
373
-
374
- protected abstract createHost(): Host;
375
- protected abstract createImportResolver(fs: FileSystem, options: ConfigOptions, host: Host): ImportResolver;
376
-
377
- protected createBackgroundAnalysisProgram(
378
- console: ConsoleInterface,
379
- configOptions: ConfigOptions,
380
- importResolver: ImportResolver,
381
- extension?: LanguageServiceExtension,
382
- backgroundAnalysis?: BackgroundAnalysisBase,
383
- maxAnalysisTime?: MaxAnalysisTime
384
- ): BackgroundAnalysisProgram {
385
- return new BackgroundAnalysisProgram(
386
- console,
387
- configOptions,
388
- importResolver,
389
- extension,
390
- backgroundAnalysis,
391
- maxAnalysisTime
392
- );
393
- }
394
-
395
- protected setExtension(extension: any): void {
396
- this._serverOptions.extension = extension;
397
- }
398
-
399
- // Provides access to the client's window.
400
- get window(): RemoteWindow {
401
- return this._connection.window;
402
- }
403
-
404
- get supportAdvancedEdits(): boolean {
405
- return this.client.hasDocumentChangeCapability && this.client.hasDocumentAnnotationCapability;
406
- }
407
-
408
- // Creates a service instance that's used for analyzing a
409
- // program within a workspace.
410
- createAnalyzerService(name: string): AnalyzerService {
411
- this.console.log(`Starting service instance "${name}"`);
412
- const service = new AnalyzerService(
413
- name,
414
- this.fs,
415
- this.console,
416
- this.createHost.bind(this),
417
- this.createImportResolver.bind(this),
418
- undefined,
419
- this._serverOptions.extension,
420
- this.createBackgroundAnalysis(),
421
- this._serverOptions.maxAnalysisTimeInForeground,
422
- this.createBackgroundAnalysisProgram.bind(this),
423
- this._serverOptions.cancellationProvider
424
- );
425
-
426
- service.setCompletionCallback((results) => this.onAnalysisCompletedHandler(results));
427
-
428
- return service;
429
- }
430
-
431
- async getWorkspaceForFile(filePath: string): Promise<WorkspaceServiceInstance> {
432
- const workspace = this._workspaceMap.getWorkspaceForFile(this, filePath);
433
- await workspace.isInitialized.promise;
434
- return workspace;
435
- }
436
-
437
- reanalyze() {
438
- this._workspaceMap.forEach((workspace) => {
439
- workspace.serviceInstance.invalidateAndForceReanalysis();
440
- });
441
- }
442
-
443
- restart() {
444
- this._workspaceMap.forEach((workspace) => {
445
- workspace.serviceInstance.restart();
446
- });
447
- }
448
-
449
- protected setupConnection(supportedCommands: string[], supportedCodeActions: string[]): void {
450
- // After the server has started the client sends an initialize request. The server receives
451
- // in the passed params the rootPath of the workspace plus the client capabilities.
452
- this._connection.onInitialize((params) => this.initialize(params, supportedCommands, supportedCodeActions));
453
-
454
- this._connection.onInitialized(() => this.onInitialized());
455
-
456
- this._connection.onDidChangeConfiguration((params) => this.onDidChangeConfiguration(params));
457
-
458
- this._connection.onCodeAction((params, token) => this.executeCodeAction(params, token));
459
-
460
- this._connection.onDefinition(async (params, token) => this.onDefinition(params, token));
461
- this._connection.onDeclaration(async (params, token) => this.onDeclaration(params, token));
462
- this._connection.onTypeDefinition(async (params, token) => this.onTypeDefinition(params, token));
463
-
464
- this._connection.onReferences(async (params, token, workDoneReporter, resultReporter) =>
465
- this.onReferences(params, token, workDoneReporter, resultReporter)
466
- );
467
-
468
- this._connection.onDocumentSymbol(async (params, token) => this.onDocumentSymbol(params, token));
469
- this._connection.onWorkspaceSymbol(async (params, token, _, resultReporter) =>
470
- this.onWorkspaceSymbol(params, token, resultReporter)
471
- );
472
-
473
- this._connection.onHover(async (params, token) => this.onHover(params, token));
474
-
475
- this._connection.onDocumentHighlight(async (params, token) => this.onDocumentHighlight(params, token));
476
-
477
- this._connection.onSignatureHelp(async (params, token) => this.onSignatureHelp(params, token));
478
-
479
- this._connection.onCompletion((params, token) => this.onCompletion(params, token));
480
-
481
- this._connection.onCompletionResolve(async (params, token) => this.onCompletionResolve(params, token));
482
-
483
- this._connection.onPrepareRename(async (params, token) => this.onPrepareRenameRequest(params, token));
484
- this._connection.onRenameRequest(async (params, token) => this.onRenameRequest(params, token));
485
-
486
- const callHierarchy = this._connection.languages.callHierarchy;
487
- callHierarchy.onPrepare(async (params, token) => this.onPrepare(params, token));
488
- callHierarchy.onIncomingCalls(async (params, token) => this.onIncomingCalls(params, token));
489
- callHierarchy.onOutgoingCalls(async (params, token) => this.onOutgoingCalls(params, token));
490
-
491
- this._connection.onDidOpenTextDocument(async (params) => this.onDidOpenTextDocument(params));
492
- this._connection.onDidChangeTextDocument(async (params) => this.onDidChangeTextDocument(params));
493
- this._connection.onDidCloseTextDocument(async (params) => this.onDidCloseTextDocument(params));
494
- this._connection.onDidChangeWatchedFiles((params) => this.onDidChangeWatchedFiles(params));
495
-
496
- this._connection.onExecuteCommand(async (params, token, reporter) =>
497
- this.onExecuteCommand(params, token, reporter)
498
- );
499
- }
500
-
501
- protected initialize(
502
- params: InitializeParams,
503
- supportedCommands: string[],
504
- supportedCodeActions: string[]
505
- ): InitializeResult {
506
- if (params.locale) {
507
- setLocaleOverride(params.locale);
508
- }
509
-
510
- this.rootPath = params.rootPath || '';
511
-
512
- const capabilities = params.capabilities;
513
- this.client.hasConfigurationCapability = !!capabilities.workspace?.configuration;
514
- this.client.hasWatchFileCapability = !!capabilities.workspace?.didChangeWatchedFiles?.dynamicRegistration;
515
- this.client.hasWatchFileRelativePathCapability =
516
- !!capabilities.workspace?.didChangeWatchedFiles?.relativePatternSupport;
517
- this.client.hasWorkspaceFoldersCapability = !!capabilities.workspace?.workspaceFolders;
518
- this.client.hasVisualStudioExtensionsCapability = !!(capabilities as any).supportsVisualStudioExtensions;
519
- this.client.hasActiveParameterCapability =
520
- !!capabilities.textDocument?.signatureHelp?.signatureInformation?.activeParameterSupport;
521
- this.client.hasSignatureLabelOffsetCapability =
522
- !!capabilities.textDocument?.signatureHelp?.signatureInformation?.parameterInformation?.labelOffsetSupport;
523
- this.client.hasHierarchicalDocumentSymbolCapability =
524
- !!capabilities.textDocument?.documentSymbol?.hierarchicalDocumentSymbolSupport;
525
- this.client.hasDocumentChangeCapability =
526
- !!capabilities.workspace?.workspaceEdit?.documentChanges &&
527
- !!capabilities.workspace.workspaceEdit?.resourceOperations;
528
- this.client.hasDocumentAnnotationCapability = !!capabilities.workspace?.workspaceEdit?.changeAnnotationSupport;
529
-
530
- this.client.hoverContentFormat = this._getCompatibleMarkupKind(capabilities.textDocument?.hover?.contentFormat);
531
- this.client.completionDocFormat = this._getCompatibleMarkupKind(
532
- capabilities.textDocument?.completion?.completionItem?.documentationFormat
533
- );
534
- this.client.completionSupportsSnippet = !!capabilities.textDocument?.completion?.completionItem?.snippetSupport;
535
- this.client.signatureDocFormat = this._getCompatibleMarkupKind(
536
- capabilities.textDocument?.signatureHelp?.signatureInformation?.documentationFormat
537
- );
538
- const supportedDiagnosticTags = capabilities.textDocument?.publishDiagnostics?.tagSupport?.valueSet || [];
539
- this.client.supportsUnnecessaryDiagnosticTag = supportedDiagnosticTags.some(
540
- (tag) => tag === DiagnosticTag.Unnecessary
541
- );
542
- this.client.supportsDeprecatedDiagnosticTag = supportedDiagnosticTags.some(
543
- (tag) => tag === DiagnosticTag.Deprecated
544
- );
545
- this.client.hasWindowProgressCapability = !!capabilities.window?.workDoneProgress;
546
- this.client.hasGoToDeclarationCapability = !!capabilities.textDocument?.declaration;
547
- this.client.completionItemResolveSupportsAdditionalTextEdits =
548
- !!capabilities.textDocument?.completion?.completionItem?.resolveSupport?.properties.some(
549
- (p) => p === 'additionalTextEdits'
550
- );
551
-
552
- // Create a service instance for each of the workspace folders.
553
- if (params.workspaceFolders) {
554
- params.workspaceFolders.forEach((folder) => {
555
- const path = this._uriParser.decodeTextDocumentUri(folder.uri);
556
- this._workspaceMap.set(path, this.createWorkspaceServiceInstance(folder, path));
557
- });
558
- } else if (params.rootPath) {
559
- this._workspaceMap.set(params.rootPath, this.createWorkspaceServiceInstance(undefined, params.rootPath));
560
- }
561
-
562
- const result: InitializeResult = {
563
- capabilities: {
564
- textDocumentSync: TextDocumentSyncKind.Incremental,
565
- definitionProvider: { workDoneProgress: true },
566
- declarationProvider: { workDoneProgress: true },
567
- typeDefinitionProvider: { workDoneProgress: true },
568
- referencesProvider: { workDoneProgress: true },
569
- documentSymbolProvider: { workDoneProgress: true },
570
- workspaceSymbolProvider: { workDoneProgress: true },
571
- hoverProvider: { workDoneProgress: true },
572
- documentHighlightProvider: { workDoneProgress: true },
573
- renameProvider: { prepareProvider: true, workDoneProgress: true },
574
- completionProvider: {
575
- triggerCharacters: this.client.hasVisualStudioExtensionsCapability ? ['.', '[', '@'] : ['.', '['],
576
- resolveProvider: true,
577
- workDoneProgress: true,
578
- completionItem: {
579
- labelDetailsSupport: true,
580
- },
581
- },
582
- signatureHelpProvider: {
583
- triggerCharacters: ['(', ',', ')'],
584
- workDoneProgress: true,
585
- },
586
- codeActionProvider: {
587
- codeActionKinds: supportedCodeActions,
588
- workDoneProgress: true,
589
- },
590
- executeCommandProvider: {
591
- commands: supportedCommands,
592
- workDoneProgress: true,
593
- },
594
- callHierarchyProvider: true,
595
- },
596
- };
597
-
598
- return result;
599
- }
600
-
601
- protected onInitialized() {
602
- if (this.client.hasWorkspaceFoldersCapability) {
603
- this._connection.workspace.onDidChangeWorkspaceFolders((event) => {
604
- event.removed.forEach((workspace) => {
605
- const rootPath = this._uriParser.decodeTextDocumentUri(workspace.uri);
606
- this._workspaceMap.delete(rootPath);
607
- });
608
-
609
- event.added.forEach(async (workspace) => {
610
- const rootPath = this._uriParser.decodeTextDocumentUri(workspace.uri);
611
- const newWorkspace = this.createWorkspaceServiceInstance(workspace, rootPath);
612
- this._workspaceMap.set(rootPath, newWorkspace);
613
- await this.updateSettingsForWorkspace(newWorkspace);
614
- });
615
-
616
- this._setupFileWatcher();
617
- });
618
-
619
- this._setupFileWatcher();
620
- }
621
- }
622
-
623
- private _setupFileWatcher() {
624
- if (!this.client.hasWatchFileCapability) {
625
- return;
626
- }
627
-
628
- const watchKind = WatchKind.Create | WatchKind.Change | WatchKind.Delete;
629
-
630
- // Set default (config files and all workspace files) first.
631
- const watchers: FileSystemWatcher[] = [
632
- ...configFileNames.map((fileName) => ({ globPattern: `**/${fileName}`, kind: watchKind })),
633
- { globPattern: '**', kind: watchKind },
634
- ];
635
-
636
- // Add all python search paths to watch list
637
- if (this.client.hasWatchFileRelativePathCapability) {
638
- for (const workspace of this._workspaceMap.getNonDefaultWorkspaces()) {
639
- workspace.searchPathsToWatch.forEach((p) => {
640
- const globPattern = isFile(this.fs, p, /* treatZipDirectoryAsFile */ true)
641
- ? { baseUri: convertPathToUri(this.fs, getDirectoryPath(p)), pattern: getFileName(p) }
642
- : { baseUri: convertPathToUri(this.fs, p), pattern: '**' };
643
-
644
- watchers.push({ globPattern, kind: watchKind });
645
- });
646
- }
647
- }
648
-
649
- this._connection.client.register(DidChangeWatchedFilesNotification.type, { watchers }).then((d) => {
650
- if (this._lastFileWatcherRegistration) {
651
- this._lastFileWatcherRegistration.dispose();
652
- }
653
-
654
- this._lastFileWatcherRegistration = d;
655
- });
656
- }
657
-
658
- protected onDidChangeConfiguration(params: DidChangeConfigurationParams) {
659
- this.console.log(`Received updated settings`);
660
- if (params?.settings) {
661
- this._defaultClientConfig = params?.settings;
662
- }
663
- this.updateSettingsForAllWorkspaces();
664
- }
665
-
666
- protected async onDefinition(
667
- params: TextDocumentPositionParams,
668
- token: CancellationToken
669
- ): Promise<Definition | DefinitionLink[] | undefined | null> {
670
- return this.getDefinitions(
671
- params,
672
- token,
673
- this.client.hasGoToDeclarationCapability ? DefinitionFilter.PreferSource : DefinitionFilter.All,
674
- (workspace, filePath, position, filter, token) =>
675
- workspace.serviceInstance.getDefinitionForPosition(filePath, position, filter, token)
676
- );
677
- }
678
-
679
- protected async onDeclaration(
680
- params: TextDocumentPositionParams,
681
- token: CancellationToken
682
- ): Promise<Declaration | DeclarationLink[] | undefined | null> {
683
- return this.getDefinitions(
684
- params,
685
- token,
686
- this.client.hasGoToDeclarationCapability ? DefinitionFilter.PreferStubs : DefinitionFilter.All,
687
- (workspace, filePath, position, filter, token) =>
688
- workspace.serviceInstance.getDefinitionForPosition(filePath, position, filter, token)
689
- );
690
- }
691
-
692
- protected async onTypeDefinition(
693
- params: TextDocumentPositionParams,
694
- token: CancellationToken
695
- ): Promise<Definition | DefinitionLink[] | undefined | null> {
696
- return this.getDefinitions(params, token, DefinitionFilter.All, (workspace, filePath, position, _, token) =>
697
- workspace.serviceInstance.getTypeDefinitionForPosition(filePath, position, token)
698
- );
699
- }
700
-
701
- protected async getDefinitions(
702
- params: TextDocumentPositionParams,
703
- token: CancellationToken,
704
- filter: DefinitionFilter,
705
- getDefinitionsFunc: (
706
- workspace: WorkspaceServiceInstance,
707
- filePath: string,
708
- position: Position,
709
- filter: DefinitionFilter,
710
- token: CancellationToken
711
- ) => DocumentRange[] | undefined
712
- ) {
713
- this.recordUserInteractionTime();
714
-
715
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
716
-
717
- const workspace = await this.getWorkspaceForFile(filePath);
718
- if (workspace.disableLanguageServices) {
719
- return undefined;
720
- }
721
-
722
- const locations = getDefinitionsFunc(workspace, filePath, position, filter, token);
723
- if (!locations) {
724
- return undefined;
725
- }
726
- return locations
727
- .filter((loc) => !this.fs.isInZipOrEgg(loc.path))
728
- .map((loc) => Location.create(convertPathToUri(this.fs, loc.path), loc.range));
729
- }
730
-
731
- protected async onReferences(
732
- params: ReferenceParams,
733
- token: CancellationToken,
734
- workDoneReporter: WorkDoneProgressReporter,
735
- resultReporter: ResultProgressReporter<Location[]> | undefined
736
- ): Promise<Location[] | null | undefined> {
737
- if (this._pendingFindAllRefsCancellationSource) {
738
- this._pendingFindAllRefsCancellationSource.cancel();
739
- this._pendingFindAllRefsCancellationSource = undefined;
740
- }
741
-
742
- // VS Code doesn't support cancellation of "final all references".
743
- // We provide a progress bar a cancellation button so the user can cancel
744
- // any long-running actions.
745
- const progress = await this._getProgressReporter(
746
- workDoneReporter,
747
- Localizer.CodeAction.findingReferences(),
748
- token
749
- );
750
-
751
- const source = progress.source;
752
- this._pendingFindAllRefsCancellationSource = source;
753
-
754
- try {
755
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(
756
- params.textDocument,
757
- params.position
758
- );
759
-
760
- const workspace = await this.getWorkspaceForFile(filePath);
761
- if (workspace.disableLanguageServices) {
762
- return;
763
- }
764
-
765
- const convert = (locs: DocumentRange[]): Location[] => {
766
- return locs
767
- .filter((loc) => !this.fs.isInZipOrEgg(loc.path))
768
- .map((loc) => Location.create(convertPathToUri(this.fs, loc.path), loc.range));
769
- };
770
-
771
- const locations: Location[] = [];
772
- const reporter: ReferenceCallback = resultReporter
773
- ? (locs) => resultReporter.report(convert(locs))
774
- : (locs) => appendArray(locations, convert(locs));
775
-
776
- workspace.serviceInstance.reportReferencesForPosition(
777
- filePath,
778
- position,
779
- params.context.includeDeclaration,
780
- reporter,
781
- source.token
782
- );
783
-
784
- return locations;
785
- } finally {
786
- progress.reporter.done();
787
- source.dispose();
788
- }
789
- }
790
-
791
- protected async onDocumentSymbol(
792
- params: DocumentSymbolParams,
793
- token: CancellationToken
794
- ): Promise<DocumentSymbol[] | SymbolInformation[] | null | undefined> {
795
- this.recordUserInteractionTime();
796
-
797
- const filePath = this._uriParser.decodeTextDocumentUri(params.textDocument.uri);
798
-
799
- const workspace = await this.getWorkspaceForFile(filePath);
800
- if (workspace.disableLanguageServices) {
801
- return undefined;
802
- }
803
-
804
- const symbolList: DocumentSymbol[] = [];
805
- workspace.serviceInstance.addSymbolsForDocument(filePath, symbolList, token);
806
- if (this.client.hasHierarchicalDocumentSymbolCapability) {
807
- return symbolList;
808
- }
809
-
810
- return convertToFlatSymbols(params.textDocument.uri, symbolList);
811
- }
812
-
813
- protected async onWorkspaceSymbol(
814
- params: WorkspaceSymbolParams,
815
- token: CancellationToken,
816
- resultReporter: ResultProgressReporter<SymbolInformation[]> | undefined
817
- ): Promise<SymbolInformation[] | WorkspaceSymbol[] | null | undefined> {
818
- const symbolList: SymbolInformation[] = [];
819
-
820
- const reporter: WorkspaceSymbolCallback = resultReporter
821
- ? (symbols) => resultReporter.report(symbols)
822
- : (symbols) => appendArray(symbolList, symbols);
823
-
824
- for (const workspace of this._workspaceMap.values()) {
825
- await workspace.isInitialized.promise;
826
- if (!workspace.disableLanguageServices && !workspace.disableWorkspaceSymbol) {
827
- workspace.serviceInstance.reportSymbolsForWorkspace(params.query, reporter, token);
828
- }
829
- }
830
-
831
- return symbolList;
832
- }
833
-
834
- protected async onHover(params: HoverParams, token: CancellationToken) {
835
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
836
-
837
- const workspace = await this.getWorkspaceForFile(filePath);
838
- const hoverResults = workspace.serviceInstance.getHoverForPosition(
839
- filePath,
840
- position,
841
- this.client.hoverContentFormat,
842
- token
843
- );
844
- return convertHoverResults(this.client.hoverContentFormat, hoverResults);
845
- }
846
-
847
- protected async onDocumentHighlight(
848
- params: DocumentHighlightParams,
849
- token: CancellationToken
850
- ): Promise<DocumentHighlight[] | null | undefined> {
851
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
852
- const workspace = await this.getWorkspaceForFile(filePath);
853
- return workspace.serviceInstance.getDocumentHighlight(filePath, position, token);
854
- }
855
-
856
- protected async onSignatureHelp(
857
- params: SignatureHelpParams,
858
- token: CancellationToken
859
- ): Promise<SignatureHelp | undefined | null> {
860
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
861
-
862
- const workspace = await this.getWorkspaceForFile(filePath);
863
- if (workspace.disableLanguageServices) {
864
- return;
865
- }
866
- const signatureHelpResults = workspace.serviceInstance.getSignatureHelpForPosition(
867
- filePath,
868
- position,
869
- this.client.signatureDocFormat,
870
- token
871
- );
872
- if (!signatureHelpResults) {
873
- return undefined;
874
- }
875
-
876
- const signatures = signatureHelpResults.signatures.map((sig) => {
877
- let paramInfo: ParameterInformation[] = [];
878
- if (sig.parameters) {
879
- paramInfo = sig.parameters.map((param) =>
880
- ParameterInformation.create(
881
- this.client.hasSignatureLabelOffsetCapability
882
- ? [param.startOffset, param.endOffset]
883
- : param.text,
884
- param.documentation
885
- )
886
- );
887
- }
888
-
889
- const sigInfo = SignatureInformation.create(sig.label, /* documentation */ undefined, ...paramInfo);
890
- if (sig.documentation !== undefined) {
891
- sigInfo.documentation = sig.documentation;
892
- }
893
- if (sig.activeParameter !== undefined) {
894
- sigInfo.activeParameter = sig.activeParameter;
895
- }
896
- return sigInfo;
897
- });
898
-
899
- // A signature is active if it contains an active parameter,
900
- // or if both the signature and its invocation have no parameters.
901
- const isActive = (sig: SignatureInformation) =>
902
- sig.activeParameter !== undefined || (!signatureHelpResults.callHasParameters && !sig.parameters?.length);
903
-
904
- let activeSignature: number | undefined = signatures.findIndex(isActive);
905
- if (activeSignature === -1) {
906
- activeSignature = undefined;
907
- }
908
-
909
- let activeParameter = activeSignature !== undefined ? signatures[activeSignature].activeParameter! : undefined;
910
-
911
- // Check if we should reuse the user's signature selection. If the retrigger was not "invoked"
912
- // (i.e., the signature help call was automatically generated by the client due to some navigation
913
- // or text change), check to see if the previous signature is still "active". If so, we mark it as
914
- // active in our response.
915
- //
916
- // This isn't a perfect method. For nested calls, we can't tell when we are moving between them.
917
- // Ideally, we would include a token in the signature help responses to compare later, allowing us
918
- // to know when the user's navigated to a nested call (and therefore the old signature's info does
919
- // not apply), but for now manually retriggering the signature help will work around the issue.
920
- if (params.context?.isRetrigger && params.context.triggerKind !== SignatureHelpTriggerKind.Invoked) {
921
- const prevActiveSignature = params.context.activeSignatureHelp?.activeSignature;
922
- if (prevActiveSignature !== undefined && prevActiveSignature < signatures.length) {
923
- const sig = signatures[prevActiveSignature];
924
- if (isActive(sig)) {
925
- activeSignature = prevActiveSignature;
926
- activeParameter = sig.activeParameter;
927
- }
928
- }
929
- }
930
-
931
- if (this.client.hasActiveParameterCapability || activeSignature === undefined) {
932
- // If there is no active parameter, then we want the client to not highlight anything.
933
- // Unfortunately, the LSP spec says that "undefined" or "out of bounds" values should be
934
- // treated as 0, which is the first parameter. That's not what we want, but thankfully
935
- // VS Code (and potentially other clients) choose to handle out of bounds values by
936
- // not highlighting them, which is what we want.
937
- //
938
- // The spec defines activeParameter as uinteger, so use the maximum length of any
939
- // signature's parameter list to ensure that the value is always out of range.
940
- //
941
- // We always set this even if some signature has an active parameter, as this
942
- // value is used as the fallback for signatures that don't explicitly specify an
943
- // active parameter (and we use "undefined" to mean "no active parameter").
944
- //
945
- // We could apply this hack to each individual signature such that they all specify
946
- // activeParameter, but that would make it more difficult to determine which actually
947
- // are active when comparing, and we already have to set this for clients which don't
948
- // support per-signature activeParameter.
949
- //
950
- // See:
951
- // - https://github.com/microsoft/language-server-protocol/issues/1271
952
- // - https://github.com/microsoft/pyright/pull/1783
953
- activeParameter = Math.max(...signatures.map((s) => s.parameters?.length ?? 0));
954
- }
955
-
956
- return { signatures, activeSignature, activeParameter };
957
- }
958
-
959
- protected async onCompletion(
960
- params: CompletionParams,
961
- token: CancellationToken
962
- ): Promise<CompletionList | undefined> {
963
- // We set completion incomplete for the first invocation and next consecutive call,
964
- // but after that we mark it as completed so the client doesn't repeatedly call back.
965
- // We mark the first one as incomplete because completion could be invoked without
966
- // any meaningful character provided, such as an explicit completion invocation (ctrl+space)
967
- // or a period. That might cause us to not include some items (e.g., auto-imports).
968
- // The next consecutive call provides some characters to help us to pick
969
- // better completion items. After that, we are not going to introduce new items,
970
- // so we can let the client to do the filtering and caching.
971
- const completionIncomplete =
972
- this._lastTriggerKind !== CompletionTriggerKind.TriggerForIncompleteCompletions ||
973
- params.context?.triggerKind !== CompletionTriggerKind.TriggerForIncompleteCompletions;
974
-
975
- this._lastTriggerKind = params.context?.triggerKind;
976
-
977
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
978
-
979
- const workspace = await this.getWorkspaceForFile(filePath);
980
- if (workspace.disableLanguageServices) {
981
- return;
982
- }
983
-
984
- const completions = await this.getWorkspaceCompletionsForPosition(
985
- workspace,
986
- filePath,
987
- position,
988
- workspace.rootPath,
989
- this.getCompletionOptions(params),
990
- token
991
- );
992
-
993
- if (completions && completions.completionList) {
994
- completions.completionList.isIncomplete = completionIncomplete;
995
- }
996
-
997
- return completions?.completionList;
998
- }
999
-
1000
- // Cancellation bugs in vscode and LSP:
1001
- // https://github.com/microsoft/vscode-languageserver-node/issues/615
1002
- // https://github.com/microsoft/vscode/issues/95485
1003
- //
1004
- // If resolver throws cancellation exception, LSP and VSCode
1005
- // cache that result and never call us back.
1006
- protected async onCompletionResolve(params: CompletionItem, token: CancellationToken): Promise<CompletionItem> {
1007
- const completionItemData = fromLSPAny<CompletionItemData>(params.data);
1008
- if (completionItemData && completionItemData.filePath) {
1009
- const workspace = await this.getWorkspaceForFile(completionItemData.workspacePath);
1010
- this.resolveWorkspaceCompletionItem(workspace, completionItemData.filePath, params, token);
1011
- }
1012
- return params;
1013
- }
1014
-
1015
- protected async onPrepareRenameRequest(
1016
- params: PrepareRenameParams,
1017
- token: CancellationToken
1018
- ): Promise<Range | { range: Range; placeholder: string } | null> {
1019
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
1020
-
1021
- const workspace = await this.getWorkspaceForFile(filePath);
1022
- if (workspace.disableLanguageServices) {
1023
- return null;
1024
- }
1025
-
1026
- const range = workspace.serviceInstance.canRenameSymbolAtPosition(
1027
- filePath,
1028
- position,
1029
- workspace.rootPath === '',
1030
- this.allowModuleRename,
1031
- token
1032
- );
1033
-
1034
- return range ?? null;
1035
- }
1036
-
1037
- protected async onRenameRequest(
1038
- params: RenameParams,
1039
- token: CancellationToken
1040
- ): Promise<WorkspaceEdit | null | undefined> {
1041
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
1042
-
1043
- const workspace = await this.getWorkspaceForFile(filePath);
1044
- if (workspace.disableLanguageServices) {
1045
- return;
1046
- }
1047
-
1048
- const editActions = workspace.serviceInstance.renameSymbolAtPosition(
1049
- filePath,
1050
- position,
1051
- params.newName,
1052
- workspace.rootPath === '',
1053
- this.allowModuleRename,
1054
- token
1055
- );
1056
-
1057
- if (!editActions) {
1058
- return undefined;
1059
- }
1060
-
1061
- return convertWorkspaceDocumentEdits(this.fs, editActions);
1062
- }
1063
-
1064
- protected async onPrepare(
1065
- params: CallHierarchyPrepareParams,
1066
- token: CancellationToken
1067
- ): Promise<CallHierarchyItem[] | null> {
1068
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
1069
-
1070
- const workspace = await this.getWorkspaceForFile(filePath);
1071
- if (workspace.disableLanguageServices) {
1072
- return null;
1073
- }
1074
-
1075
- const callItem = workspace.serviceInstance.getCallForPosition(filePath, position, token) || null;
1076
- if (!callItem) {
1077
- return null;
1078
- }
1079
-
1080
- if (this.fs.isInZipOrEgg(callItem.uri)) {
1081
- return null;
1082
- }
1083
-
1084
- // Convert the file path in the item to proper URI.
1085
- callItem.uri = convertPathToUri(this.fs, callItem.uri);
1086
-
1087
- return [callItem];
1088
- }
1089
-
1090
- protected async onIncomingCalls(params: CallHierarchyIncomingCallsParams, token: CancellationToken) {
1091
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.item, params.item.range.start);
1092
-
1093
- const workspace = await this.getWorkspaceForFile(filePath);
1094
- if (workspace.disableLanguageServices) {
1095
- return null;
1096
- }
1097
-
1098
- let callItems = workspace.serviceInstance.getIncomingCallsForPosition(filePath, position, token) || null;
1099
- if (!callItems || callItems.length === 0) {
1100
- return null;
1101
- }
1102
-
1103
- callItems = callItems.filter((item) => !this.fs.isInZipOrEgg(item.from.uri));
1104
-
1105
- // Convert the file paths in the items to proper URIs.
1106
- callItems.forEach((item) => {
1107
- item.from.uri = convertPathToUri(this.fs, item.from.uri);
1108
- });
1109
-
1110
- return callItems;
1111
- }
1112
-
1113
- protected async onOutgoingCalls(
1114
- params: CallHierarchyOutgoingCallsParams,
1115
- token: CancellationToken
1116
- ): Promise<CallHierarchyOutgoingCall[] | null> {
1117
- const { filePath, position } = this._uriParser.decodeTextDocumentPosition(params.item, params.item.range.start);
1118
-
1119
- const workspace = await this.getWorkspaceForFile(filePath);
1120
- if (workspace.disableLanguageServices) {
1121
- return null;
1122
- }
1123
-
1124
- let callItems = workspace.serviceInstance.getOutgoingCallsForPosition(filePath, position, token) || null;
1125
- if (!callItems || callItems.length === 0) {
1126
- return null;
1127
- }
1128
-
1129
- callItems = callItems.filter((item) => !this.fs.isInZipOrEgg(item.to.uri));
1130
-
1131
- // Convert the file paths in the items to proper URIs.
1132
- callItems.forEach((item) => {
1133
- item.to.uri = convertPathToUri(this.fs, item.to.uri);
1134
- });
1135
-
1136
- return callItems;
1137
- }
1138
-
1139
- protected async onDidOpenTextDocument(params: DidOpenTextDocumentParams, ipythonMode = false) {
1140
- const filePath = this._uriParser.decodeTextDocumentUri(params.textDocument.uri);
1141
-
1142
- if (!(this.fs as PyrightFileSystem).addUriMap(params.textDocument.uri, filePath)) {
1143
- // We do not support opening 1 file with 2 different uri.
1144
- return;
1145
- }
1146
-
1147
- const workspace = await this.getWorkspaceForFile(filePath);
1148
- workspace.serviceInstance.setFileOpened(
1149
- filePath,
1150
- params.textDocument.version,
1151
- params.textDocument.text,
1152
- ipythonMode
1153
- );
1154
- }
1155
-
1156
- protected async onDidChangeTextDocument(params: DidChangeTextDocumentParams, ipythonMode = false) {
1157
- this.recordUserInteractionTime();
1158
-
1159
- const filePath = this._uriParser.decodeTextDocumentUri(params.textDocument.uri);
1160
- if (!(this.fs as PyrightFileSystem).hasUriMapEntry(params.textDocument.uri, filePath)) {
1161
- // We do not support opening 1 file with 2 different uri.
1162
- return;
1163
- }
1164
-
1165
- const workspace = await this.getWorkspaceForFile(filePath);
1166
- workspace.serviceInstance.updateOpenFileContents(
1167
- filePath,
1168
- params.textDocument.version,
1169
- params.contentChanges,
1170
- ipythonMode
1171
- );
1172
- }
1173
-
1174
- protected async onDidCloseTextDocument(params: DidCloseTextDocumentParams) {
1175
- const filePath = this._uriParser.decodeTextDocumentUri(params.textDocument.uri);
1176
- if (!(this.fs as PyrightFileSystem).removeUriMap(params.textDocument.uri, filePath)) {
1177
- // We do not support opening 1 file with 2 different uri.
1178
- return;
1179
- }
1180
-
1181
- const workspace = await this.getWorkspaceForFile(filePath);
1182
- workspace.serviceInstance.setFileClosed(filePath);
1183
- }
1184
-
1185
- protected onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams) {
1186
- params.changes.forEach((change) => {
1187
- const filePath = this.fs.realCasePath(this._uriParser.decodeTextDocumentUri(change.uri));
1188
- const eventType: FileWatcherEventType = change.type === 1 ? 'add' : 'change';
1189
- this._fileWatcherProvider.onFileChange(eventType, filePath);
1190
- });
1191
- }
1192
-
1193
- protected async onExecuteCommand(
1194
- params: ExecuteCommandParams,
1195
- token: CancellationToken,
1196
- reporter: WorkDoneProgressReporter
1197
- ) {
1198
- // Cancel running command if there is one.
1199
- if (this._pendingCommandCancellationSource) {
1200
- this._pendingCommandCancellationSource.cancel();
1201
- this._pendingCommandCancellationSource = undefined;
1202
- }
1203
-
1204
- const executeCommand = async (token: CancellationToken) => {
1205
- const result = await this.executeCommand(params, token);
1206
- if (WorkspaceEdit.is(result)) {
1207
- // Tell client to apply edits.
1208
- // Do not await; the client isn't expecting a result.
1209
- this._connection.workspace.applyEdit({ label: `Command '${params.command}'`, edit: result });
1210
- }
1211
-
1212
- if (CommandResult.is(result)) {
1213
- // Tell client to apply edits.
1214
- // Await so that we return after the edit is complete.
1215
- await this._connection.workspace.applyEdit({ label: result.label, edit: result.edits });
1216
- }
1217
-
1218
- return result;
1219
- };
1220
-
1221
- if (this.isLongRunningCommand(params.command)) {
1222
- // Create a progress dialog for long-running commands.
1223
- const progress = await this._getProgressReporter(reporter, Localizer.CodeAction.executingCommand(), token);
1224
-
1225
- const source = progress.source;
1226
- this._pendingCommandCancellationSource = source;
1227
-
1228
- try {
1229
- const result = await executeCommand(source.token);
1230
- return result;
1231
- } finally {
1232
- progress.reporter.done();
1233
- source.dispose();
1234
- }
1235
- } else {
1236
- const result = await executeCommand(token);
1237
- return result;
1238
- }
1239
- }
1240
-
1241
- protected resolveWorkspaceCompletionItem(
1242
- workspace: WorkspaceServiceInstance,
1243
- filePath: string,
1244
- item: CompletionItem,
1245
- token: CancellationToken
1246
- ): void {
1247
- workspace.serviceInstance.resolveCompletionItem(
1248
- filePath,
1249
- item,
1250
- this.getCompletionOptions(),
1251
- /* nameMap */ undefined,
1252
- token
1253
- );
1254
- }
1255
-
1256
- protected getWorkspaceCompletionsForPosition(
1257
- workspace: WorkspaceServiceInstance,
1258
- filePath: string,
1259
- position: Position,
1260
- workspacePath: string,
1261
- options: CompletionOptions,
1262
- token: CancellationToken
1263
- ): Promise<CompletionResultsList | undefined> {
1264
- return workspace.serviceInstance.getCompletionsForPosition(
1265
- filePath,
1266
- position,
1267
- workspacePath,
1268
- options,
1269
- undefined,
1270
- token
1271
- );
1272
- }
1273
-
1274
- updateSettingsForAllWorkspaces(): void {
1275
- const tasks: Promise<void>[] = [];
1276
- this._workspaceMap.forEach((workspace) => {
1277
- tasks.push(this.updateSettingsForWorkspace(workspace));
1278
- });
1279
-
1280
- Promise.all(tasks).then(() => {
1281
- this._setupFileWatcher();
1282
- });
1283
- }
1284
-
1285
- protected getCompletionOptions(params?: CompletionParams) {
1286
- return {
1287
- format: this.client.completionDocFormat,
1288
- snippet: this.client.completionSupportsSnippet,
1289
- lazyEdit: this.client.completionItemResolveSupportsAdditionalTextEdits,
1290
- autoImport: true,
1291
- };
1292
- }
1293
-
1294
- protected createWorkspaceServiceInstance(
1295
- workspace: WorkspaceFolder | undefined,
1296
- rootPath: string
1297
- ): WorkspaceServiceInstance {
1298
- return {
1299
- workspaceName: workspace?.name ?? '',
1300
- rootPath,
1301
- rootUri: workspace?.uri ?? '',
1302
- serviceInstance: this.createAnalyzerService(workspace?.name ?? rootPath),
1303
- disableLanguageServices: false,
1304
- disableOrganizeImports: false,
1305
- disableWorkspaceSymbol: false,
1306
- isInitialized: createDeferred<boolean>(),
1307
- searchPathsToWatch: [],
1308
- };
1309
- }
1310
-
1311
- protected convertDiagnostics(fileDiagnostics: FileDiagnostics): PublishDiagnosticsParams[] {
1312
- return [
1313
- {
1314
- uri: convertPathToUri(this.fs, fileDiagnostics.filePath),
1315
- version: fileDiagnostics.version,
1316
- diagnostics: this._convertDiagnostics(fileDiagnostics.diagnostics),
1317
- },
1318
- ];
1319
- }
1320
-
1321
- protected onAnalysisCompletedHandler(results: AnalysisResults): void {
1322
- // Send the computed diagnostics to the client.
1323
- results.diagnostics.forEach((fileDiag) => {
1324
- if (this.fs.isInZipOrEgg(fileDiag.filePath)) {
1325
- return;
1326
- }
1327
-
1328
- this._sendDiagnostics(this.convertDiagnostics(fileDiag));
1329
- (this.fs as PyrightFileSystem).pendingRequest(fileDiag.filePath, fileDiag.diagnostics.length > 0);
1330
- });
1331
-
1332
- if (!this._progressReporter.isEnabled(results)) {
1333
- // Make sure to disable progress bar if it is currently active.
1334
- // This can happen if a user changes typeCheckingMode in the middle
1335
- // of analysis.
1336
- // end() is noop if there is no active progress bar.
1337
- this._progressReporter.end();
1338
- return;
1339
- }
1340
-
1341
- // Update progress.
1342
- if (results.filesRequiringAnalysis > 0) {
1343
- this._progressReporter.begin();
1344
-
1345
- const progressMessage =
1346
- results.filesRequiringAnalysis === 1
1347
- ? Localizer.CodeAction.filesToAnalyzeOne()
1348
- : Localizer.CodeAction.filesToAnalyzeCount().format({
1349
- count: results.filesRequiringAnalysis,
1350
- });
1351
- this._progressReporter.report(progressMessage);
1352
- } else {
1353
- this._progressReporter.end();
1354
- }
1355
- }
1356
-
1357
- async updateSettingsForWorkspace(
1358
- workspace: WorkspaceServiceInstance,
1359
- serverSettings?: ServerSettings
1360
- ): Promise<void> {
1361
- serverSettings = serverSettings ?? (await this.getSettings(workspace));
1362
-
1363
- // Set logging level first.
1364
- (this.console as ConsoleWithLogLevel).level = serverSettings.logLevel ?? LogLevel.Info;
1365
-
1366
- this.updateOptionsAndRestartService(workspace, serverSettings);
1367
- workspace.disableLanguageServices = !!serverSettings.disableLanguageServices;
1368
- workspace.disableOrganizeImports = !!serverSettings.disableOrganizeImports;
1369
-
1370
- // The workspace is now open for business.
1371
- workspace.isInitialized.resolve(true);
1372
- }
1373
-
1374
- updateOptionsAndRestartService(
1375
- workspace: WorkspaceServiceInstance,
1376
- serverSettings: ServerSettings,
1377
- typeStubTargetImportName?: string
1378
- ) {
1379
- AnalyzerServiceExecutor.runWithOptions(this.rootPath, workspace, serverSettings, typeStubTargetImportName);
1380
- workspace.searchPathsToWatch = workspace.serviceInstance.librarySearchPathsToWatch ?? [];
1381
- }
1382
-
1383
- protected convertLogLevel(logLevelValue?: string): LogLevel {
1384
- if (!logLevelValue) {
1385
- return LogLevel.Info;
1386
- }
1387
-
1388
- switch (logLevelValue.toLowerCase()) {
1389
- case 'error':
1390
- return LogLevel.Error;
1391
-
1392
- case 'warning':
1393
- return LogLevel.Warn;
1394
-
1395
- case 'information':
1396
- return LogLevel.Info;
1397
-
1398
- case 'trace':
1399
- return LogLevel.Log;
1400
-
1401
- default:
1402
- return LogLevel.Info;
1403
- }
1404
- }
1405
-
1406
- private _sendDiagnostics(params: PublishDiagnosticsParams[]) {
1407
- for (const param of params) {
1408
- this._connection.sendDiagnostics(param);
1409
- }
1410
- }
1411
-
1412
- private _getCompatibleMarkupKind(clientSupportedFormats: MarkupKind[] | undefined) {
1413
- const serverSupportedFormats = [MarkupKind.PlainText, MarkupKind.Markdown];
1414
-
1415
- for (const format of clientSupportedFormats ?? []) {
1416
- if (serverSupportedFormats.includes(format)) {
1417
- return format;
1418
- }
1419
- }
1420
-
1421
- return MarkupKind.PlainText;
1422
- }
1423
-
1424
- private async _getProgressReporter(reporter: WorkDoneProgressReporter, title: string, token: CancellationToken) {
1425
- // This is a bit ugly, but we need to determine whether the provided reporter
1426
- // is an actual client-side progress reporter or a dummy (null) progress reporter
1427
- // created by the LSP library. If it's the latter, we'll create a server-initiated
1428
- // progress reporter.
1429
- if (reporter.constructor !== nullProgressReporter.constructor) {
1430
- return { reporter: reporter, source: CancelAfter(token) };
1431
- }
1432
-
1433
- const serverInitiatedReporter = await this._connection.window.createWorkDoneProgress();
1434
- serverInitiatedReporter.begin(
1435
- title,
1436
- /* percentage */ undefined,
1437
- /* message */ undefined,
1438
- /* cancellable */ true
1439
- );
1440
-
1441
- return {
1442
- reporter: serverInitiatedReporter,
1443
- source: CancelAfter(token, serverInitiatedReporter.token),
1444
- };
1445
- }
1446
-
1447
- private _convertDiagnostics(diags: AnalyzerDiagnostic[]): Diagnostic[] {
1448
- const convertedDiags: Diagnostic[] = [];
1449
-
1450
- diags.forEach((diag) => {
1451
- const severity = convertCategoryToSeverity(diag.category);
1452
- const rule = diag.getRule();
1453
- const vsDiag = Diagnostic.create(diag.range, diag.message, severity, rule, this._serverOptions.productName);
1454
-
1455
- if (diag.category === DiagnosticCategory.UnusedCode) {
1456
- vsDiag.tags = [DiagnosticTag.Unnecessary];
1457
- vsDiag.severity = DiagnosticSeverity.Hint;
1458
-
1459
- // If the client doesn't support "unnecessary" tags, don't report unused code.
1460
- if (!this.client.supportsUnnecessaryDiagnosticTag) {
1461
- return;
1462
- }
1463
- } else if (diag.category === DiagnosticCategory.Deprecated) {
1464
- vsDiag.tags = [DiagnosticTag.Deprecated];
1465
- vsDiag.severity = DiagnosticSeverity.Hint;
1466
-
1467
- // If the client doesn't support "deprecated" tags, don't report.
1468
- if (!this.client.supportsDeprecatedDiagnosticTag) {
1469
- return;
1470
- }
1471
- }
1472
-
1473
- if (rule) {
1474
- const ruleDocUrl = this.getDocumentationUrlForDiagnosticRule(rule);
1475
- if (ruleDocUrl) {
1476
- vsDiag.codeDescription = {
1477
- href: ruleDocUrl,
1478
- };
1479
- }
1480
- }
1481
-
1482
- const relatedInfo = diag.getRelatedInfo();
1483
- if (relatedInfo.length > 0) {
1484
- vsDiag.relatedInformation = relatedInfo
1485
- .filter((info) => !this.fs.isInZipOrEgg(info.filePath))
1486
- .map((info) =>
1487
- DiagnosticRelatedInformation.create(
1488
- Location.create(convertPathToUri(this.fs, info.filePath), info.range),
1489
- info.message
1490
- )
1491
- );
1492
- }
1493
-
1494
- convertedDiags.push(vsDiag);
1495
- });
1496
-
1497
- function convertCategoryToSeverity(category: DiagnosticCategory) {
1498
- switch (category) {
1499
- case DiagnosticCategory.Error:
1500
- return DiagnosticSeverity.Error;
1501
-
1502
- case DiagnosticCategory.Warning:
1503
- return DiagnosticSeverity.Warning;
1504
-
1505
- case DiagnosticCategory.Information:
1506
- return DiagnosticSeverity.Information;
1507
-
1508
- case DiagnosticCategory.UnusedCode:
1509
- case DiagnosticCategory.Deprecated:
1510
- return DiagnosticSeverity.Hint;
1511
- }
1512
- }
1513
-
1514
- return convertedDiags;
1515
- }
1516
-
1517
- protected recordUserInteractionTime() {
1518
- // Tell all of the services that the user is actively
1519
- // interacting with one or more editors, so they should
1520
- // back off from performing any work.
1521
- this._workspaceMap.forEach((workspace: { serviceInstance: { recordUserInteractionTime: () => void } }) => {
1522
- workspace.serviceInstance.recordUserInteractionTime();
1523
- });
1524
- }
1525
-
1526
- protected getDocumentationUrlForDiagnosticRule(rule: string): string | undefined {
1527
- // For now, return the same URL for all rules. We can separate these
1528
- // in the future.
1529
- return 'https://github.com/microsoft/pyright/blob/main/docs/configuration.md';
1530
- }
1531
-
1532
- protected abstract createProgressReporter(): ProgressReporter;
1533
-
1534
- // Expands certain predefined variables supported within VS Code settings.
1535
- // Ideally, VS Code would provide an API for doing this expansion, but
1536
- // it doesn't. We'll handle the most common variables here as a convenience.
1537
- protected expandPathVariables(rootPath: string, value: string): string {
1538
- const regexp = /\$\{(.*?)\}/g;
1539
- return value.replace(regexp, (match: string, name: string) => {
1540
- const trimmedName = name.trim();
1541
- if (trimmedName === 'workspaceFolder') {
1542
- return rootPath;
1543
- }
1544
- if (trimmedName === 'env:HOME' && process.env.HOME !== undefined) {
1545
- return process.env.HOME;
1546
- }
1547
- if (trimmedName === 'env:USERNAME' && process.env.USERNAME !== undefined) {
1548
- return process.env.USERNAME;
1549
- }
1550
- if (trimmedName === 'env:VIRTUAL_ENV' && process.env.VIRTUAL_ENV !== undefined) {
1551
- return process.env.VIRTUAL_ENV;
1552
- }
1553
- return match;
1554
- });
1555
- }
1556
- }