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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1456) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/analyzer/aliasDeclarationUtils.js +2 -2
  4. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +4 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +12 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -0
  9. package/dist/analyzer/backgroundAnalysisProgram.js +3 -0
  10. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  11. package/dist/analyzer/binder.d.ts +6 -1
  12. package/dist/analyzer/binder.js +142 -32
  13. package/dist/analyzer/binder.js.map +1 -1
  14. package/dist/analyzer/checker.d.ts +4 -1
  15. package/dist/analyzer/checker.js +144 -73
  16. package/dist/analyzer/checker.js.map +1 -1
  17. package/dist/analyzer/codeFlowUtils.js +33 -0
  18. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  19. package/dist/analyzer/constraintSolver.js +6 -3
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +6 -4
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declaration.d.ts +18 -6
  24. package/dist/analyzer/declaration.js +25 -5
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.d.ts +1 -1
  27. package/dist/analyzer/declarationUtils.js +19 -16
  28. package/dist/analyzer/declarationUtils.js.map +1 -1
  29. package/dist/analyzer/importResult.js +7 -0
  30. package/dist/analyzer/importResult.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.js +10 -1
  32. package/dist/analyzer/importStatementUtils.js.map +1 -1
  33. package/dist/analyzer/namedTuples.js +1 -1
  34. package/dist/analyzer/namedTuples.js.map +1 -1
  35. package/dist/analyzer/packageTypeReport.js +10 -1
  36. package/dist/analyzer/packageTypeReport.js.map +1 -1
  37. package/dist/analyzer/packageTypeVerifier.js +6 -6
  38. package/dist/analyzer/parseTreeUtils.d.ts +3 -3
  39. package/dist/analyzer/parseTreeUtils.js +27 -13
  40. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  41. package/dist/analyzer/parseTreeWalker.d.ts +4 -1
  42. package/dist/analyzer/parseTreeWalker.js +19 -1
  43. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  44. package/dist/analyzer/program.d.ts +2 -1
  45. package/dist/analyzer/program.js +27 -23
  46. package/dist/analyzer/program.js.map +1 -1
  47. package/dist/analyzer/properties.js +2 -0
  48. package/dist/analyzer/properties.js.map +1 -1
  49. package/dist/analyzer/protocols.d.ts +0 -1
  50. package/dist/analyzer/protocols.js +4 -64
  51. package/dist/analyzer/protocols.js.map +1 -1
  52. package/dist/analyzer/scope.js +22 -1
  53. package/dist/analyzer/scope.js.map +1 -1
  54. package/dist/analyzer/service.d.ts +20 -8
  55. package/dist/analyzer/service.js +39 -19
  56. package/dist/analyzer/service.js.map +1 -1
  57. package/dist/analyzer/sourceFile.js +1 -1
  58. package/dist/analyzer/sourceFile.js.map +1 -1
  59. package/dist/analyzer/sourceFileInfoUtils.d.ts +2 -0
  60. package/dist/analyzer/sourceFileInfoUtils.js +15 -0
  61. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -0
  62. package/dist/analyzer/symbol.d.ts +3 -1
  63. package/dist/analyzer/symbol.js +39 -1
  64. package/dist/analyzer/symbol.js.map +1 -1
  65. package/dist/analyzer/tracePrinter.js +8 -4
  66. package/dist/analyzer/tracePrinter.js.map +1 -1
  67. package/dist/analyzer/typeDocStringUtils.js +11 -3
  68. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  69. package/dist/analyzer/typeEvaluator.js +610 -208
  70. package/dist/analyzer/typeEvaluator.js.map +1 -1
  71. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -1
  72. package/dist/analyzer/typeEvaluatorTypes.js +65 -1
  73. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  74. package/dist/analyzer/typeEvaluatorWithTracker.js +2 -0
  75. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  76. package/dist/analyzer/typeGuards.d.ts +2 -0
  77. package/dist/analyzer/typeGuards.js +113 -69
  78. package/dist/analyzer/typeGuards.js.map +1 -1
  79. package/dist/analyzer/typePrinter.js +27 -2
  80. package/dist/analyzer/typePrinter.js.map +1 -1
  81. package/dist/analyzer/typeStubWriter.d.ts +4 -1
  82. package/dist/analyzer/typeStubWriter.js +36 -0
  83. package/dist/analyzer/typeStubWriter.js.map +1 -1
  84. package/dist/analyzer/typeUtils.js +129 -33
  85. package/dist/analyzer/typeUtils.js.map +1 -1
  86. package/dist/analyzer/typedDicts.js +2 -1
  87. package/dist/analyzer/typedDicts.js.map +1 -1
  88. package/dist/analyzer/types.d.ts +12 -4
  89. package/dist/analyzer/types.js +215 -6
  90. package/dist/analyzer/types.js.map +1 -1
  91. package/dist/backgroundAnalysisBase.d.ts +1 -1
  92. package/dist/commands/commands.js +9 -0
  93. package/dist/commands/commands.js.map +1 -1
  94. package/dist/common/commandLineOptions.js +8 -1
  95. package/dist/common/commandLineOptions.js.map +1 -1
  96. package/dist/common/core.js +7 -1
  97. package/dist/common/core.js.map +1 -1
  98. package/dist/common/diagnostic.js +9 -1
  99. package/dist/common/diagnostic.js.map +1 -1
  100. package/dist/common/host.js +7 -1
  101. package/dist/common/host.js.map +1 -1
  102. package/dist/common/pathUtils.d.ts +1 -0
  103. package/dist/common/pathUtils.js +34 -1
  104. package/dist/common/pathUtils.js.map +1 -1
  105. package/dist/common/stringUtils.d.ts +1 -0
  106. package/dist/common/stringUtils.js +8 -1
  107. package/dist/common/stringUtils.js.map +1 -1
  108. package/dist/languageServerBase.d.ts +10 -3
  109. package/dist/languageServerBase.js +40 -14
  110. package/dist/languageServerBase.js.map +1 -1
  111. package/dist/languageService/analyzerServiceExecutor.js +3 -0
  112. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  113. package/dist/languageService/autoImporter.js +2 -1
  114. package/dist/languageService/autoImporter.js.map +1 -1
  115. package/dist/languageService/callHierarchyProvider.js +9 -9
  116. package/dist/languageService/completionProvider.d.ts +2 -2
  117. package/dist/languageService/completionProvider.js +22 -18
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/definitionProvider.js +3 -3
  120. package/dist/languageService/documentSymbolCollector.js +1 -1
  121. package/dist/languageService/documentSymbolProvider.js +10 -7
  122. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  123. package/dist/languageService/hoverProvider.js +19 -5
  124. package/dist/languageService/hoverProvider.js.map +1 -1
  125. package/dist/languageService/referencesProvider.js +8 -5
  126. package/dist/languageService/referencesProvider.js.map +1 -1
  127. package/dist/languageService/tooltipUtils.js +1 -1
  128. package/dist/localization/localize.d.ts +27 -0
  129. package/dist/localization/localize.js +16 -0
  130. package/dist/localization/localize.js.map +1 -1
  131. package/dist/localization/package.nls.en-us.json +18 -2
  132. package/dist/parser/parseNodes.d.ts +44 -5
  133. package/dist/parser/parseNodes.js +191 -4
  134. package/dist/parser/parseNodes.js.map +1 -1
  135. package/dist/parser/parser.d.ts +3 -1
  136. package/dist/parser/parser.js +155 -24
  137. package/dist/parser/parser.js.map +1 -1
  138. package/dist/parser/stringTokenUtils.js +8 -1
  139. package/dist/parser/stringTokenUtils.js.map +1 -1
  140. package/dist/parser/tokenizer.js +4 -3
  141. package/dist/parser/tokenizer.js.map +1 -1
  142. package/dist/parser/tokenizerTypes.d.ts +5 -3
  143. package/dist/parser/tokenizerTypes.js +157 -1
  144. package/dist/parser/tokenizerTypes.js.map +1 -1
  145. package/dist/pyright.js +6 -1
  146. package/dist/pyright.js.map +1 -1
  147. package/dist/tests/chainedSourceFiles.test.js +12 -9
  148. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  149. package/dist/tests/checker.test.js +4 -0
  150. package/dist/tests/checker.test.js.map +1 -1
  151. package/dist/tests/config.test.js +14 -13
  152. package/dist/tests/config.test.js.map +1 -1
  153. package/dist/tests/debug.test.js +6 -0
  154. package/dist/tests/debug.test.js.map +1 -1
  155. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +1 -0
  156. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js +53 -0
  157. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -0
  158. package/dist/tests/fourslash/fourslash.d.ts +16 -0
  159. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +1 -0
  160. package/dist/tests/fourslash/hover.class.docString.fourslash.js +24 -0
  161. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -0
  162. package/dist/tests/harness/fourslash/fourSlashParser.js +6 -0
  163. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  164. package/dist/tests/harness/fourslash/fourSlashTypes.js +19 -1
  165. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  166. package/dist/tests/harness/fourslash/testLanguageService.js +9 -1
  167. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  168. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -0
  169. package/dist/tests/harness/fourslash/testState.Consts.js +1 -0
  170. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  171. package/dist/tests/harness/fourslash/testState.d.ts +4 -3
  172. package/dist/tests/harness/fourslash/testState.js +27 -11
  173. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  174. package/dist/tests/harness/vfs/pathValidation.js +25 -1
  175. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  176. package/dist/tests/pathUtils.test.js +17 -0
  177. package/dist/tests/pathUtils.test.js.map +1 -1
  178. package/dist/tests/testUtils.js +1 -1
  179. package/dist/tests/testUtils.js.map +1 -1
  180. package/dist/tests/typeEvaluator1.test.js +9 -1
  181. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  182. package/dist/tests/typeEvaluator2.test.js +9 -1
  183. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  184. package/dist/tests/typeEvaluator3.test.js +4 -0
  185. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  186. package/dist/tests/typeEvaluator5.test.d.ts +1 -0
  187. package/dist/tests/typeEvaluator5.test.js +112 -0
  188. package/dist/tests/typeEvaluator5.test.js.map +1 -0
  189. package/dist/workspaceMap.d.ts +2 -1
  190. package/dist/workspaceMap.js +25 -3
  191. package/dist/workspaceMap.js.map +1 -1
  192. package/package.json +45 -45
  193. package/src/analyzer/aliasDeclarationUtils.ts +0 -169
  194. package/src/analyzer/analysis.ts +0 -92
  195. package/src/analyzer/analyzerFileInfo.ts +0 -56
  196. package/src/analyzer/analyzerNodeInfo.ts +0 -198
  197. package/src/analyzer/backgroundAnalysisProgram.ts +0 -311
  198. package/src/analyzer/binder.ts +0 -4081
  199. package/src/analyzer/checker.ts +0 -5507
  200. package/src/analyzer/circularDependency.ts +0 -52
  201. package/src/analyzer/codeFlowEngine.ts +0 -1548
  202. package/src/analyzer/codeFlowTypes.ts +0 -266
  203. package/src/analyzer/codeFlowUtils.ts +0 -436
  204. package/src/analyzer/commentUtils.ts +0 -174
  205. package/src/analyzer/constraintSolver.ts +0 -926
  206. package/src/analyzer/constructorTransform.ts +0 -317
  207. package/src/analyzer/dataClasses.ts +0 -999
  208. package/src/analyzer/declaration.ts +0 -252
  209. package/src/analyzer/declarationUtils.ts +0 -238
  210. package/src/analyzer/docStringConversion.ts +0 -850
  211. package/src/analyzer/docStringUtils.ts +0 -112
  212. package/src/analyzer/functionTransform.ts +0 -137
  213. package/src/analyzer/importResolver.ts +0 -2308
  214. package/src/analyzer/importResult.ts +0 -98
  215. package/src/analyzer/importStatementUtils.ts +0 -834
  216. package/src/analyzer/namedTuples.ts +0 -422
  217. package/src/analyzer/packageTypeReport.ts +0 -108
  218. package/src/analyzer/packageTypeVerifier.ts +0 -1466
  219. package/src/analyzer/parentDirectoryCache.ts +0 -88
  220. package/src/analyzer/parseTreeCleaner.ts +0 -35
  221. package/src/analyzer/parseTreeUtils.ts +0 -2165
  222. package/src/analyzer/parseTreeWalker.ts +0 -663
  223. package/src/analyzer/patternMatching.ts +0 -1356
  224. package/src/analyzer/program.ts +0 -2778
  225. package/src/analyzer/properties.ts +0 -534
  226. package/src/analyzer/protocols.ts +0 -660
  227. package/src/analyzer/pyTypedUtils.ts +0 -52
  228. package/src/analyzer/pythonPathUtils.ts +0 -201
  229. package/src/analyzer/scope.ts +0 -202
  230. package/src/analyzer/scopeUtils.ts +0 -81
  231. package/src/analyzer/service.ts +0 -1679
  232. package/src/analyzer/sourceFile.ts +0 -1401
  233. package/src/analyzer/sourceMapper.ts +0 -717
  234. package/src/analyzer/staticExpressions.ts +0 -308
  235. package/src/analyzer/symbol.ts +0 -249
  236. package/src/analyzer/symbolNameUtils.ts +0 -50
  237. package/src/analyzer/symbolUtils.ts +0 -49
  238. package/src/analyzer/testWalker.ts +0 -101
  239. package/src/analyzer/tracePrinter.ts +0 -264
  240. package/src/analyzer/typeCache.ts +0 -181
  241. package/src/analyzer/typeDocStringUtils.ts +0 -371
  242. package/src/analyzer/typeEvaluator.ts +0 -23395
  243. package/src/analyzer/typeEvaluatorTypes.ts +0 -452
  244. package/src/analyzer/typeEvaluatorWithTracker.ts +0 -161
  245. package/src/analyzer/typeGuards.ts +0 -1828
  246. package/src/analyzer/typePrinter.ts +0 -807
  247. package/src/analyzer/typeStubWriter.ts +0 -727
  248. package/src/analyzer/typeUtils.ts +0 -3126
  249. package/src/analyzer/typeVarContext.ts +0 -330
  250. package/src/analyzer/typedDicts.ts +0 -950
  251. package/src/analyzer/types.ts +0 -2857
  252. package/src/backgroundAnalysis.ts +0 -49
  253. package/src/backgroundAnalysisBase.ts +0 -606
  254. package/src/backgroundThreadBase.ts +0 -143
  255. package/src/commands/commandController.ts +0 -62
  256. package/src/commands/commandResult.ts +0 -21
  257. package/src/commands/commands.ts +0 -16
  258. package/src/commands/createTypeStub.ts +0 -56
  259. package/src/commands/quickActionCommand.ts +0 -40
  260. package/src/commands/restartServer.ts +0 -20
  261. package/src/common/cancellationUtils.ts +0 -71
  262. package/src/common/chokidarFileWatcherProvider.ts +0 -74
  263. package/src/common/collectionUtils.ts +0 -379
  264. package/src/common/commandLineOptions.ts +0 -132
  265. package/src/common/configOptions.ts +0 -1291
  266. package/src/common/console.ts +0 -201
  267. package/src/common/core.ts +0 -152
  268. package/src/common/crypto.ts +0 -60
  269. package/src/common/debug.ts +0 -144
  270. package/src/common/deferred.ts +0 -78
  271. package/src/common/diagnostic.ts +0 -191
  272. package/src/common/diagnosticRules.ts +0 -80
  273. package/src/common/diagnosticSink.ts +0 -150
  274. package/src/common/editAction.ts +0 -46
  275. package/src/common/extensibility.ts +0 -35
  276. package/src/common/extensions.ts +0 -21
  277. package/src/common/fileBasedCancellationUtils.ts +0 -274
  278. package/src/common/fileSystem.ts +0 -152
  279. package/src/common/fullAccessHost.ts +0 -203
  280. package/src/common/host.ts +0 -49
  281. package/src/common/logTracker.ts +0 -157
  282. package/src/common/lspUtils.ts +0 -18
  283. package/src/common/memUtils.ts +0 -36
  284. package/src/common/pathConsts.ts +0 -16
  285. package/src/common/pathUtils.ts +0 -987
  286. package/src/common/positionUtils.ts +0 -78
  287. package/src/common/progressReporter.ts +0 -53
  288. package/src/common/pythonVersion.ts +0 -74
  289. package/src/common/realFileSystem.ts +0 -433
  290. package/src/common/stringUtils.ts +0 -161
  291. package/src/common/textEditUtils.ts +0 -31
  292. package/src/common/textRange.ts +0 -225
  293. package/src/common/textRangeCollection.ts +0 -122
  294. package/src/common/timing.ts +0 -105
  295. package/src/common/uriParser.ts +0 -26
  296. package/src/common/workspaceEditUtils.ts +0 -100
  297. package/src/languageServerBase.ts +0 -1556
  298. package/src/languageService/analyzerServiceExecutor.ts +0 -144
  299. package/src/languageService/autoImporter.ts +0 -926
  300. package/src/languageService/callHierarchyProvider.ts +0 -476
  301. package/src/languageService/codeActionProvider.ts +0 -85
  302. package/src/languageService/completionProvider.ts +0 -3103
  303. package/src/languageService/definitionProvider.ts +0 -235
  304. package/src/languageService/documentHighlightProvider.ts +0 -61
  305. package/src/languageService/documentSymbolCollector.ts +0 -466
  306. package/src/languageService/documentSymbolProvider.ts +0 -466
  307. package/src/languageService/hoverProvider.ts +0 -499
  308. package/src/languageService/importAdder.ts +0 -437
  309. package/src/languageService/importSorter.ts +0 -196
  310. package/src/languageService/indentationUtils.ts +0 -813
  311. package/src/languageService/quickActions.ts +0 -113
  312. package/src/languageService/referencesProvider.ts +0 -316
  313. package/src/languageService/renameModuleProvider.ts +0 -1400
  314. package/src/languageService/signatureHelpProvider.ts +0 -227
  315. package/src/languageService/tooltipUtils.ts +0 -147
  316. package/src/localization/localize.ts +0 -1272
  317. package/src/localization/package.nls.de.json +0 -3
  318. package/src/localization/package.nls.en-us.json +0 -636
  319. package/src/localization/package.nls.es.json +0 -3
  320. package/src/localization/package.nls.fr.json +0 -3
  321. package/src/localization/package.nls.ja.json +0 -3
  322. package/src/localization/package.nls.ru.json +0 -3
  323. package/src/localization/package.nls.zh-cn.json +0 -3
  324. package/src/localization/package.nls.zh-tw.json +0 -3
  325. package/src/nodeMain.ts +0 -21
  326. package/src/nodeServer.ts +0 -30
  327. package/src/parser/characterStream.ts +0 -145
  328. package/src/parser/characters.ts +0 -285
  329. package/src/parser/parseNodes.ts +0 -2338
  330. package/src/parser/parser.ts +0 -4859
  331. package/src/parser/stringTokenUtils.ts +0 -564
  332. package/src/parser/tokenizer.ts +0 -1379
  333. package/src/parser/tokenizerTypes.ts +0 -420
  334. package/src/parser/unicode.ts +0 -2917
  335. package/src/pyright.ts +0 -824
  336. package/src/pyrightFileSystem.ts +0 -237
  337. package/src/readonlyAugmentedFileSystem.ts +0 -204
  338. package/src/server.ts +0 -298
  339. package/src/tests/chainedSourceFiles.test.ts +0 -183
  340. package/src/tests/checker.test.ts +0 -445
  341. package/src/tests/collectionUtils.test.ts +0 -178
  342. package/src/tests/common.test.ts +0 -117
  343. package/src/tests/config.test.ts +0 -291
  344. package/src/tests/debug.test.ts +0 -120
  345. package/src/tests/deferred.test.ts +0 -54
  346. package/src/tests/diagnosticOverrides.test.ts +0 -104
  347. package/src/tests/docStringConversion.test.ts +0 -823
  348. package/src/tests/docStringUtils.test.ts +0 -57
  349. package/src/tests/documentSymbolCollector.test.ts +0 -735
  350. package/src/tests/filesystem.test.ts +0 -215
  351. package/src/tests/fourSlashParser.test.ts +0 -330
  352. package/src/tests/fourSlashRunner.test.ts +0 -36
  353. package/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts +0 -33
  354. package/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts +0 -47
  355. package/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts +0 -14
  356. package/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts +0 -25
  357. package/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts +0 -36
  358. package/src/tests/fourslash/completions.autoimport.fourslash.ts +0 -29
  359. package/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts +0 -130
  360. package/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts +0 -29
  361. package/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts +0 -48
  362. package/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts +0 -31
  363. package/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts +0 -57
  364. package/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts +0 -117
  365. package/src/tests/fourslash/completions.builtinOverride.fourslash.ts +0 -22
  366. package/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts +0 -55
  367. package/src/tests/fourslash/completions.call.typedDict.fourslash.ts +0 -247
  368. package/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts +0 -163
  369. package/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts +0 -135
  370. package/src/tests/fourslash/completions.classVariable.fourslash.ts +0 -37
  371. package/src/tests/fourslash/completions.comment.fourslash.ts +0 -28
  372. package/src/tests/fourslash/completions.declNames.class.fourslash.ts +0 -35
  373. package/src/tests/fourslash/completions.declNames.exception.fourslash.ts +0 -18
  374. package/src/tests/fourslash/completions.declNames.for.fourslash.ts +0 -30
  375. package/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts +0 -15
  376. package/src/tests/fourslash/completions.declNames.lambda.fourslash.ts +0 -45
  377. package/src/tests/fourslash/completions.declNames.method.fourslash.ts +0 -71
  378. package/src/tests/fourslash/completions.declNames.overload.fourslash.ts +0 -156
  379. package/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts +0 -141
  380. package/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts +0 -76
  381. package/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts +0 -63
  382. package/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts +0 -161
  383. package/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts +0 -151
  384. package/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts +0 -116
  385. package/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts +0 -53
  386. package/src/tests/fourslash/completions.enums.members.fourslash.ts +0 -44
  387. package/src/tests/fourslash/completions.excluded.fourslash.ts +0 -12
  388. package/src/tests/fourslash/completions.fourslash.ts +0 -51
  389. package/src/tests/fourslash/completions.fstring.fourslash.ts +0 -33
  390. package/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts +0 -96
  391. package/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts +0 -30
  392. package/src/tests/fourslash/completions.importDunderNames.fourslash.ts +0 -31
  393. package/src/tests/fourslash/completions.importSubmodule.fourslash.ts +0 -26
  394. package/src/tests/fourslash/completions.importsDuplicates.fourslash.ts +0 -23
  395. package/src/tests/fourslash/completions.inList.fourslash.ts +0 -33
  396. package/src/tests/fourslash/completions.included.fourslash.ts +0 -12
  397. package/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts +0 -57
  398. package/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts +0 -28
  399. package/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts +0 -52
  400. package/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts +0 -53
  401. package/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts +0 -104
  402. package/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts +0 -108
  403. package/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts +0 -72
  404. package/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts +0 -79
  405. package/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts +0 -69
  406. package/src/tests/fourslash/completions.libStub.fourslash.ts +0 -69
  407. package/src/tests/fourslash/completions.literals.fourslash.ts +0 -33
  408. package/src/tests/fourslash/completions.localCode.fourslash.ts +0 -74
  409. package/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts +0 -17
  410. package/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts +0 -57
  411. package/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts +0 -30
  412. package/src/tests/fourslash/completions.overloads.fourslash.ts +0 -40
  413. package/src/tests/fourslash/completions.override.default.fourslash.ts +0 -47
  414. package/src/tests/fourslash/completions.override.default.importStub.ts +0 -50
  415. package/src/tests/fourslash/completions.override.default.imported.fourslash.ts +0 -61
  416. package/src/tests/fourslash/completions.override.default.stub.fourslash.ts +0 -47
  417. package/src/tests/fourslash/completions.override.fourslash.ts +0 -47
  418. package/src/tests/fourslash/completions.override.property.fourslash.ts +0 -31
  419. package/src/tests/fourslash/completions.override.property.stub.fourslash.ts +0 -31
  420. package/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts +0 -64
  421. package/src/tests/fourslash/completions.override.stub.fourslash.ts +0 -47
  422. package/src/tests/fourslash/completions.override2.fourslash.ts +0 -71
  423. package/src/tests/fourslash/completions.parameters.fourslash.ts +0 -23
  424. package/src/tests/fourslash/completions.params.fourslash.ts +0 -24
  425. package/src/tests/fourslash/completions.parentFolder.fourslash.ts +0 -17
  426. package/src/tests/fourslash/completions.parentFolders.fourslash.ts +0 -77
  427. package/src/tests/fourslash/completions.plainText.fourslash.ts +0 -34
  428. package/src/tests/fourslash/completions.private.fourslash.ts +0 -64
  429. package/src/tests/fourslash/completions.property.fourslash.ts +0 -28
  430. package/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts +0 -64
  431. package/src/tests/fourslash/completions.self.fourslash.ts +0 -43
  432. package/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts +0 -71
  433. package/src/tests/fourslash/completions.stringLiteral.fourslash.ts +0 -79
  434. package/src/tests/fourslash/completions.typeAlias.fourslash.ts +0 -29
  435. package/src/tests/fourslash/completions.typeshed.fourslash.ts +0 -9
  436. package/src/tests/fourslash/completions.vardecls.fourslash.ts +0 -40
  437. package/src/tests/fourslash/completions.variableDocStrings.fourslash.ts +0 -69
  438. package/src/tests/fourslash/completions.wildcardimports.fourslash.ts +0 -116
  439. package/src/tests/fourslash/completions.with.fourslash.ts +0 -26
  440. package/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts +0 -69
  441. package/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts +0 -29
  442. package/src/tests/fourslash/findDefinitions.classes.fourslash.ts +0 -101
  443. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts +0 -29
  444. package/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts +0 -24
  445. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts +0 -29
  446. package/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts +0 -25
  447. package/src/tests/fourslash/findDefinitions.fields.fourslash.ts +0 -131
  448. package/src/tests/fourslash/findDefinitions.functions.fourslash.ts +0 -87
  449. package/src/tests/fourslash/findDefinitions.methods.fourslash.ts +0 -162
  450. package/src/tests/fourslash/findDefinitions.modules.fourslash.ts +0 -50
  451. package/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts +0 -40
  452. package/src/tests/fourslash/findDefinitions.overloads.fourslash.ts +0 -223
  453. package/src/tests/fourslash/findDefinitions.parameters.fourslash.ts +0 -162
  454. package/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts +0 -26
  455. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts +0 -32
  456. package/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts +0 -33
  457. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts +0 -28
  458. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts +0 -29
  459. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts +0 -31
  460. package/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts +0 -36
  461. package/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts +0 -29
  462. package/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts +0 -28
  463. package/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts +0 -28
  464. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts +0 -22
  465. package/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts +0 -22
  466. package/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts +0 -61
  467. package/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts +0 -71
  468. package/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts +0 -99
  469. package/src/tests/fourslash/findDefinitions.variables.fourslash.ts +0 -88
  470. package/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts +0 -117
  471. package/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts +0 -26
  472. package/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts +0 -72
  473. package/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts +0 -26
  474. package/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts +0 -39
  475. package/src/tests/fourslash/findallreferences.fourslash.ts +0 -34
  476. package/src/tests/fourslash/findallreferences.importalias.fourslash.ts +0 -34
  477. package/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts +0 -52
  478. package/src/tests/fourslash/findallreferences.module.nested.fourslash.ts +0 -67
  479. package/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts +0 -59
  480. package/src/tests/fourslash/findallreferences.modules.fourslash.ts +0 -46
  481. package/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts +0 -95
  482. package/src/tests/fourslash/findallreferences.openFiles.fourslash.ts +0 -37
  483. package/src/tests/fourslash/findallreferences.parameter.fourslash.ts +0 -24
  484. package/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts +0 -33
  485. package/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts +0 -37
  486. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts +0 -40
  487. package/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts +0 -48
  488. package/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts +0 -35
  489. package/src/tests/fourslash/findallreferences.variable.fourslash.ts +0 -24
  490. package/src/tests/fourslash/fourslash.ts +0 -411
  491. package/src/tests/fourslash/highlightreferences.attributes.fourslash.ts +0 -31
  492. package/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts +0 -64
  493. package/src/tests/fourslash/hover.classNoInit.fourslash.ts +0 -14
  494. package/src/tests/fourslash/hover.docFromScr.stringFormat.fourslash.ts +0 -52
  495. package/src/tests/fourslash/hover.docFromSrc.fourslash.ts +0 -83
  496. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts +0 -26
  497. package/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts +0 -26
  498. package/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts +0 -23
  499. package/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts +0 -22
  500. package/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts +0 -46
  501. package/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts +0 -29
  502. package/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts +0 -20
  503. package/src/tests/fourslash/hover.docstring.links.fourslash.ts +0 -12
  504. package/src/tests/fourslash/hover.docstring.overloads.fourslash.ts +0 -41
  505. package/src/tests/fourslash/hover.docstring.split.fourslash.ts +0 -24
  506. package/src/tests/fourslash/hover.fourslash.ts +0 -20
  507. package/src/tests/fourslash/hover.import.django.view.fourslash.ts +0 -27
  508. package/src/tests/fourslash/hover.import.fourslash.ts +0 -11
  509. package/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts +0 -63
  510. package/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts +0 -54
  511. package/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts +0 -42
  512. package/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts +0 -46
  513. package/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts +0 -47
  514. package/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts +0 -87
  515. package/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts +0 -91
  516. package/src/tests/fourslash/hover.init.fourslash.ts +0 -39
  517. package/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts +0 -52
  518. package/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts +0 -41
  519. package/src/tests/fourslash/hover.libStub.fourslash.ts +0 -41
  520. package/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts +0 -14
  521. package/src/tests/fourslash/hover.plainText.fourslash.ts +0 -21
  522. package/src/tests/fourslash/hover.typedDict.key.fourslash.ts +0 -51
  523. package/src/tests/fourslash/hover.variable.docString.fourslash.ts +0 -41
  524. package/src/tests/fourslash/hover.wildcardimports.fourslash.ts +0 -80
  525. package/src/tests/fourslash/import.publicSymbols.fourslash.ts +0 -65
  526. package/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts +0 -77
  527. package/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts +0 -65
  528. package/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts +0 -38
  529. package/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts +0 -38
  530. package/src/tests/fourslash/import.wildcard.fourslash.ts +0 -27
  531. package/src/tests/fourslash/importnotresolved.fourslash.ts +0 -13
  532. package/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts +0 -20
  533. package/src/tests/fourslash/missingModuleSource.fourslash.ts +0 -14
  534. package/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts +0 -33
  535. package/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts +0 -48
  536. package/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts +0 -38
  537. package/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts +0 -38
  538. package/src/tests/fourslash/missingTypeStub.fourslash.ts +0 -20
  539. package/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts +0 -36
  540. package/src/tests/fourslash/noerrors.fourslash.ts +0 -9
  541. package/src/tests/fourslash/orderImports1.command.fourslash.ts +0 -20
  542. package/src/tests/fourslash/orderImports2.command.fourslash.ts +0 -24
  543. package/src/tests/fourslash/rename.externallyHidden.fourslash.ts +0 -24
  544. package/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts +0 -24
  545. package/src/tests/fourslash/rename.fourslash.ts +0 -29
  546. package/src/tests/fourslash/rename.library.fourslash.ts +0 -29
  547. package/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts +0 -33
  548. package/src/tests/fourslash/rename.multipleDecl.fourslash.ts +0 -21
  549. package/src/tests/fourslash/rename.sourceAndStub.fourslash.ts +0 -37
  550. package/src/tests/fourslash/rename.string.excluded.fourslash.ts +0 -43
  551. package/src/tests/fourslash/rename.string.fourslash.ts +0 -26
  552. package/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts +0 -63
  553. package/src/tests/fourslash/signature.complicated.fourslash.ts +0 -100
  554. package/src/tests/fourslash/signature.cornercases.fourslash.ts +0 -23
  555. package/src/tests/fourslash/signature.docstrings.fourslash.ts +0 -43
  556. package/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts +0 -50
  557. package/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts +0 -122
  558. package/src/tests/fourslash/signature.overload.fourslash.ts +0 -64
  559. package/src/tests/fourslash/signature.simple.fourslash.ts +0 -104
  560. package/src/tests/harness/fourslash/fourSlashParser.ts +0 -441
  561. package/src/tests/harness/fourslash/fourSlashTypes.ts +0 -134
  562. package/src/tests/harness/fourslash/runner.ts +0 -99
  563. package/src/tests/harness/fourslash/testLanguageService.ts +0 -142
  564. package/src/tests/harness/fourslash/testState.Consts.ts +0 -29
  565. package/src/tests/harness/fourslash/testState.ts +0 -1993
  566. package/src/tests/harness/testAccessHost.ts +0 -23
  567. package/src/tests/harness/testHost.ts +0 -177
  568. package/src/tests/harness/utils.ts +0 -355
  569. package/src/tests/harness/vfs/factory.ts +0 -199
  570. package/src/tests/harness/vfs/filesystem.ts +0 -1893
  571. package/src/tests/harness/vfs/pathValidation.ts +0 -154
  572. package/src/tests/importAdder.test.ts +0 -1361
  573. package/src/tests/importResolver.test.ts +0 -534
  574. package/src/tests/importStatementUtils.test.ts +0 -526
  575. package/src/tests/indentationUtils.ptvs.test.ts +0 -388
  576. package/src/tests/indentationUtils.reindent.test.ts +0 -403
  577. package/src/tests/indentationUtils.test.ts +0 -455
  578. package/src/tests/ipythonMode.test.ts +0 -365
  579. package/src/tests/localizer.test.ts +0 -47
  580. package/src/tests/parseTreeUtils.test.ts +0 -281
  581. package/src/tests/parser.test.ts +0 -99
  582. package/src/tests/pathUtils.test.ts +0 -321
  583. package/src/tests/pyrightFileSystem.test.ts +0 -183
  584. package/src/tests/renameModule.folder.test.ts +0 -261
  585. package/src/tests/renameModule.fromImports.test.ts +0 -952
  586. package/src/tests/renameModule.imports.test.ts +0 -450
  587. package/src/tests/renameModule.misc.test.ts +0 -765
  588. package/src/tests/renameModule.relativePath.test.ts +0 -277
  589. package/src/tests/renameModuleTestUtils.ts +0 -210
  590. package/src/tests/samples/abstractClass1.py +0 -51
  591. package/src/tests/samples/abstractClass2.py +0 -25
  592. package/src/tests/samples/abstractClass3.py +0 -30
  593. package/src/tests/samples/abstractClass4.py +0 -30
  594. package/src/tests/samples/abstractClass5.py +0 -42
  595. package/src/tests/samples/abstractClass6.py +0 -25
  596. package/src/tests/samples/abstractClass7.py +0 -22
  597. package/src/tests/samples/abstractClass8.py +0 -27
  598. package/src/tests/samples/annotated1.py +0 -72
  599. package/src/tests/samples/annotatedVar1.py +0 -22
  600. package/src/tests/samples/annotatedVar2.py +0 -28
  601. package/src/tests/samples/annotatedVar3.py +0 -54
  602. package/src/tests/samples/annotatedVar4.py +0 -24
  603. package/src/tests/samples/annotatedVar5.py +0 -37
  604. package/src/tests/samples/annotatedVar6.py +0 -22
  605. package/src/tests/samples/annotatedVar7.py +0 -13
  606. package/src/tests/samples/annotatedVar8.py +0 -29
  607. package/src/tests/samples/annotations1.py +0 -98
  608. package/src/tests/samples/annotations2.py +0 -33
  609. package/src/tests/samples/annotations3.py +0 -43
  610. package/src/tests/samples/annotations4.py +0 -54
  611. package/src/tests/samples/annotations5.py +0 -9
  612. package/src/tests/samples/annotations6.py +0 -29
  613. package/src/tests/samples/assert1.py +0 -22
  614. package/src/tests/samples/assertType1.py +0 -46
  615. package/src/tests/samples/assignment1.py +0 -58
  616. package/src/tests/samples/assignment10.py +0 -14
  617. package/src/tests/samples/assignment2.py +0 -40
  618. package/src/tests/samples/assignment3.py +0 -46
  619. package/src/tests/samples/assignment4.py +0 -20
  620. package/src/tests/samples/assignment5.py +0 -16
  621. package/src/tests/samples/assignment6.py +0 -25
  622. package/src/tests/samples/assignment7.py +0 -13
  623. package/src/tests/samples/assignment8.py +0 -40
  624. package/src/tests/samples/assignment9.py +0 -25
  625. package/src/tests/samples/assignmentExpr1.py +0 -23
  626. package/src/tests/samples/assignmentExpr2.py +0 -49
  627. package/src/tests/samples/assignmentExpr3.py +0 -27
  628. package/src/tests/samples/assignmentExpr4.py +0 -49
  629. package/src/tests/samples/assignmentExpr5.py +0 -15
  630. package/src/tests/samples/assignmentExpr6.py +0 -10
  631. package/src/tests/samples/assignmentExpr7.py +0 -13
  632. package/src/tests/samples/assignmentExpr8.py +0 -11
  633. package/src/tests/samples/assignmentExpr9.py +0 -28
  634. package/src/tests/samples/async1.py +0 -49
  635. package/src/tests/samples/augmentedAssignment1.py +0 -62
  636. package/src/tests/samples/augmentedAssignment2.py +0 -23
  637. package/src/tests/samples/augmentedAssignment3.py +0 -8
  638. package/src/tests/samples/await1.py +0 -23
  639. package/src/tests/samples/await2.py +0 -25
  640. package/src/tests/samples/badToken1.py +0 -6
  641. package/src/tests/samples/builtins1.py +0 -2
  642. package/src/tests/samples/call1.py +0 -93
  643. package/src/tests/samples/call2.py +0 -118
  644. package/src/tests/samples/call3.py +0 -168
  645. package/src/tests/samples/call4.py +0 -13
  646. package/src/tests/samples/call5.py +0 -95
  647. package/src/tests/samples/call6.py +0 -35
  648. package/src/tests/samples/call7.py +0 -57
  649. package/src/tests/samples/callSite1.py +0 -6
  650. package/src/tests/samples/callSite2.py +0 -12
  651. package/src/tests/samples/callable1.py +0 -53
  652. package/src/tests/samples/callable2.py +0 -58
  653. package/src/tests/samples/callable3.py +0 -28
  654. package/src/tests/samples/callable4.py +0 -32
  655. package/src/tests/samples/callable5.py +0 -40
  656. package/src/tests/samples/callable6.py +0 -83
  657. package/src/tests/samples/callbackProtocol1.py +0 -119
  658. package/src/tests/samples/callbackProtocol2.py +0 -29
  659. package/src/tests/samples/callbackProtocol3.py +0 -23
  660. package/src/tests/samples/callbackProtocol4.py +0 -73
  661. package/src/tests/samples/callbackProtocol5.py +0 -66
  662. package/src/tests/samples/callbackProtocol6.py +0 -66
  663. package/src/tests/samples/callbackProtocol7.py +0 -16
  664. package/src/tests/samples/callbackProtocol8.py +0 -16
  665. package/src/tests/samples/capturedVariable1.py +0 -106
  666. package/src/tests/samples/circular1.py +0 -16
  667. package/src/tests/samples/circular2.py +0 -38
  668. package/src/tests/samples/circularBaseClass.py +0 -17
  669. package/src/tests/samples/classGetItem1.py +0 -30
  670. package/src/tests/samples/classVar1.py +0 -41
  671. package/src/tests/samples/classVar2.py +0 -29
  672. package/src/tests/samples/classVar3.py +0 -46
  673. package/src/tests/samples/classVar4.py +0 -36
  674. package/src/tests/samples/classes1.py +0 -50
  675. package/src/tests/samples/classes3.py +0 -48
  676. package/src/tests/samples/classes4.py +0 -15
  677. package/src/tests/samples/classes5.py +0 -260
  678. package/src/tests/samples/classes6.py +0 -16
  679. package/src/tests/samples/classes7.py +0 -18
  680. package/src/tests/samples/classes8.py +0 -47
  681. package/src/tests/samples/codeFlow1.py +0 -65
  682. package/src/tests/samples/codeFlow2.py +0 -26
  683. package/src/tests/samples/codeFlow3.py +0 -8
  684. package/src/tests/samples/codeFlow4.py +0 -133
  685. package/src/tests/samples/codeFlow5.py +0 -10
  686. package/src/tests/samples/codeFlow6.py +0 -35
  687. package/src/tests/samples/codeFlow7.py +0 -35
  688. package/src/tests/samples/comparison1.py +0 -77
  689. package/src/tests/samples/comparison2.py +0 -37
  690. package/src/tests/samples/complex1.py +0 -17
  691. package/src/tests/samples/constant1.py +0 -40
  692. package/src/tests/samples/constants1.py +0 -64
  693. package/src/tests/samples/constructor1.py +0 -30
  694. package/src/tests/samples/constructor10.py +0 -19
  695. package/src/tests/samples/constructor11.py +0 -32
  696. package/src/tests/samples/constructor12.py +0 -20
  697. package/src/tests/samples/constructor13.py +0 -15
  698. package/src/tests/samples/constructor2.py +0 -180
  699. package/src/tests/samples/constructor3.py +0 -18
  700. package/src/tests/samples/constructor4.py +0 -25
  701. package/src/tests/samples/constructor5.py +0 -25
  702. package/src/tests/samples/constructor6.py +0 -70
  703. package/src/tests/samples/constructor7.py +0 -11
  704. package/src/tests/samples/constructor8.py +0 -99
  705. package/src/tests/samples/constructor9.py +0 -19
  706. package/src/tests/samples/coroutines1.py +0 -60
  707. package/src/tests/samples/coroutines2.py +0 -20
  708. package/src/tests/samples/coroutines3.py +0 -37
  709. package/src/tests/samples/dataclass1.py +0 -44
  710. package/src/tests/samples/dataclass10.py +0 -45
  711. package/src/tests/samples/dataclass11.py +0 -53
  712. package/src/tests/samples/dataclass12.py +0 -32
  713. package/src/tests/samples/dataclass13.py +0 -42
  714. package/src/tests/samples/dataclass14.py +0 -38
  715. package/src/tests/samples/dataclass15.py +0 -58
  716. package/src/tests/samples/dataclass16.py +0 -21
  717. package/src/tests/samples/dataclass17.py +0 -46
  718. package/src/tests/samples/dataclass18.py +0 -57
  719. package/src/tests/samples/dataclass19.py +0 -44
  720. package/src/tests/samples/dataclass2.py +0 -30
  721. package/src/tests/samples/dataclass20.py +0 -71
  722. package/src/tests/samples/dataclass21.py +0 -13
  723. package/src/tests/samples/dataclass3.py +0 -18
  724. package/src/tests/samples/dataclass4.py +0 -64
  725. package/src/tests/samples/dataclass5.py +0 -81
  726. package/src/tests/samples/dataclass6.py +0 -29
  727. package/src/tests/samples/dataclass7.py +0 -93
  728. package/src/tests/samples/dataclass8.py +0 -22
  729. package/src/tests/samples/dataclass9.py +0 -24
  730. package/src/tests/samples/dataclassPostInit1.py +0 -61
  731. package/src/tests/samples/dataclassTransform1.py +0 -71
  732. package/src/tests/samples/dataclassTransform2.py +0 -78
  733. package/src/tests/samples/dataclassTransform3.py +0 -83
  734. package/src/tests/samples/dataclassTransform4.py +0 -87
  735. package/src/tests/samples/decorator1.py +0 -20
  736. package/src/tests/samples/decorator2.py +0 -31
  737. package/src/tests/samples/decorator3.py +0 -27
  738. package/src/tests/samples/decorator4.py +0 -37
  739. package/src/tests/samples/decorator5.py +0 -29
  740. package/src/tests/samples/decorator6.py +0 -34
  741. package/src/tests/samples/defaultInitializer1.py +0 -26
  742. package/src/tests/samples/deprecated1.py +0 -37
  743. package/src/tests/samples/descriptor1.py +0 -134
  744. package/src/tests/samples/descriptor2.py +0 -29
  745. package/src/tests/samples/dictionary1.py +0 -42
  746. package/src/tests/samples/dictionary2.py +0 -14
  747. package/src/tests/samples/dictionary3.py +0 -30
  748. package/src/tests/samples/dictionary4.py +0 -106
  749. package/src/tests/samples/dunderAll1.py +0 -32
  750. package/src/tests/samples/dunderAll2.py +0 -16
  751. package/src/tests/samples/dunderAll3.pyi +0 -16
  752. package/src/tests/samples/duplicateDeclaration1.py +0 -115
  753. package/src/tests/samples/duplicateDeclaration2.py +0 -45
  754. package/src/tests/samples/duplicateImports1.py +0 -13
  755. package/src/tests/samples/ellipsis1.pyi +0 -48
  756. package/src/tests/samples/emptyContainers1.py +0 -89
  757. package/src/tests/samples/enums1.py +0 -52
  758. package/src/tests/samples/enums2.py +0 -15
  759. package/src/tests/samples/enums3.py +0 -24
  760. package/src/tests/samples/enums4.py +0 -23
  761. package/src/tests/samples/enums5.py +0 -16
  762. package/src/tests/samples/enums6.py +0 -33
  763. package/src/tests/samples/enums7.py +0 -54
  764. package/src/tests/samples/enums8.py +0 -14
  765. package/src/tests/samples/expressions1.py +0 -54
  766. package/src/tests/samples/expressions2.py +0 -29
  767. package/src/tests/samples/expressions3.py +0 -26
  768. package/src/tests/samples/expressions4.py +0 -23
  769. package/src/tests/samples/expressions5.py +0 -70
  770. package/src/tests/samples/expressions6.py +0 -14
  771. package/src/tests/samples/expressions7.py +0 -40
  772. package/src/tests/samples/expressions8.py +0 -26
  773. package/src/tests/samples/expressions9.py +0 -14
  774. package/src/tests/samples/final1.py +0 -14
  775. package/src/tests/samples/final2.py +0 -86
  776. package/src/tests/samples/final3.py +0 -179
  777. package/src/tests/samples/final4.pyi +0 -21
  778. package/src/tests/samples/final5.py +0 -18
  779. package/src/tests/samples/forLoop1.py +0 -88
  780. package/src/tests/samples/forLoop2.py +0 -48
  781. package/src/tests/samples/fstring1.py +0 -66
  782. package/src/tests/samples/fstring2.py +0 -12
  783. package/src/tests/samples/fstring3.py +0 -35
  784. package/src/tests/samples/fstring4.py +0 -17
  785. package/src/tests/samples/fstring5.py +0 -17
  786. package/src/tests/samples/fstring6.py +0 -14
  787. package/src/tests/samples/function1.py +0 -12
  788. package/src/tests/samples/function10.py +0 -20
  789. package/src/tests/samples/function11.py +0 -36
  790. package/src/tests/samples/function2.py +0 -7
  791. package/src/tests/samples/function3.py +0 -82
  792. package/src/tests/samples/function4.py +0 -13
  793. package/src/tests/samples/function6.py +0 -24
  794. package/src/tests/samples/function7.py +0 -13
  795. package/src/tests/samples/function8.py +0 -38
  796. package/src/tests/samples/function9.py +0 -75
  797. package/src/tests/samples/functionAnnotation1.py +0 -61
  798. package/src/tests/samples/functionAnnotation2.py +0 -26
  799. package/src/tests/samples/functionAnnotation3.py +0 -37
  800. package/src/tests/samples/functionAnnotation4.py +0 -22
  801. package/src/tests/samples/functionMember1.py +0 -18
  802. package/src/tests/samples/functionMember2.py +0 -45
  803. package/src/tests/samples/generators1.py +0 -122
  804. package/src/tests/samples/generators10.py +0 -18
  805. package/src/tests/samples/generators11.py +0 -27
  806. package/src/tests/samples/generators12.py +0 -25
  807. package/src/tests/samples/generators13.py +0 -65
  808. package/src/tests/samples/generators14.py +0 -19
  809. package/src/tests/samples/generators15.py +0 -26
  810. package/src/tests/samples/generators2.py +0 -31
  811. package/src/tests/samples/generators3.py +0 -42
  812. package/src/tests/samples/generators4.py +0 -33
  813. package/src/tests/samples/generators5.py +0 -24
  814. package/src/tests/samples/generators6.py +0 -14
  815. package/src/tests/samples/generators7.py +0 -18
  816. package/src/tests/samples/generators8.py +0 -12
  817. package/src/tests/samples/generators9.py +0 -19
  818. package/src/tests/samples/generic1.py +0 -41
  819. package/src/tests/samples/genericTypes1.py +0 -12
  820. package/src/tests/samples/genericTypes10.py +0 -38
  821. package/src/tests/samples/genericTypes11.py +0 -26
  822. package/src/tests/samples/genericTypes12.py +0 -14
  823. package/src/tests/samples/genericTypes13.py +0 -27
  824. package/src/tests/samples/genericTypes14.py +0 -22
  825. package/src/tests/samples/genericTypes15.py +0 -13
  826. package/src/tests/samples/genericTypes16.py +0 -15
  827. package/src/tests/samples/genericTypes17.py +0 -24
  828. package/src/tests/samples/genericTypes18.py +0 -135
  829. package/src/tests/samples/genericTypes19.py +0 -32
  830. package/src/tests/samples/genericTypes2.py +0 -40
  831. package/src/tests/samples/genericTypes20.py +0 -44
  832. package/src/tests/samples/genericTypes21.py +0 -29
  833. package/src/tests/samples/genericTypes22.py +0 -23
  834. package/src/tests/samples/genericTypes23.py +0 -27
  835. package/src/tests/samples/genericTypes24.py +0 -32
  836. package/src/tests/samples/genericTypes25.py +0 -37
  837. package/src/tests/samples/genericTypes26.py +0 -31
  838. package/src/tests/samples/genericTypes27.py +0 -14
  839. package/src/tests/samples/genericTypes28.py +0 -51
  840. package/src/tests/samples/genericTypes29.py +0 -24
  841. package/src/tests/samples/genericTypes3.py +0 -13
  842. package/src/tests/samples/genericTypes30.py +0 -32
  843. package/src/tests/samples/genericTypes31.py +0 -30
  844. package/src/tests/samples/genericTypes32.py +0 -25
  845. package/src/tests/samples/genericTypes33.py +0 -46
  846. package/src/tests/samples/genericTypes34.py +0 -54
  847. package/src/tests/samples/genericTypes35.py +0 -45
  848. package/src/tests/samples/genericTypes36.py +0 -35
  849. package/src/tests/samples/genericTypes37.py +0 -26
  850. package/src/tests/samples/genericTypes38.py +0 -15
  851. package/src/tests/samples/genericTypes39.py +0 -82
  852. package/src/tests/samples/genericTypes4.py +0 -37
  853. package/src/tests/samples/genericTypes40.py +0 -38
  854. package/src/tests/samples/genericTypes41.py +0 -16
  855. package/src/tests/samples/genericTypes42.py +0 -32
  856. package/src/tests/samples/genericTypes43.py +0 -24
  857. package/src/tests/samples/genericTypes44.py +0 -33
  858. package/src/tests/samples/genericTypes45.py +0 -43
  859. package/src/tests/samples/genericTypes46.py +0 -66
  860. package/src/tests/samples/genericTypes47.py +0 -39
  861. package/src/tests/samples/genericTypes48.py +0 -18
  862. package/src/tests/samples/genericTypes49.py +0 -41
  863. package/src/tests/samples/genericTypes5.py +0 -42
  864. package/src/tests/samples/genericTypes50.py +0 -62
  865. package/src/tests/samples/genericTypes51.py +0 -55
  866. package/src/tests/samples/genericTypes52.py +0 -34
  867. package/src/tests/samples/genericTypes53.py +0 -42
  868. package/src/tests/samples/genericTypes54.py +0 -31
  869. package/src/tests/samples/genericTypes55.py +0 -61
  870. package/src/tests/samples/genericTypes56.py +0 -19
  871. package/src/tests/samples/genericTypes57.py +0 -30
  872. package/src/tests/samples/genericTypes58.py +0 -52
  873. package/src/tests/samples/genericTypes59.py +0 -71
  874. package/src/tests/samples/genericTypes6.py +0 -49
  875. package/src/tests/samples/genericTypes60.py +0 -27
  876. package/src/tests/samples/genericTypes61.py +0 -34
  877. package/src/tests/samples/genericTypes62.py +0 -26
  878. package/src/tests/samples/genericTypes63.py +0 -32
  879. package/src/tests/samples/genericTypes64.py +0 -16
  880. package/src/tests/samples/genericTypes65.py +0 -15
  881. package/src/tests/samples/genericTypes66.py +0 -30
  882. package/src/tests/samples/genericTypes67.py +0 -57
  883. package/src/tests/samples/genericTypes68.py +0 -14
  884. package/src/tests/samples/genericTypes69.py +0 -45
  885. package/src/tests/samples/genericTypes7.py +0 -24
  886. package/src/tests/samples/genericTypes70.py +0 -31
  887. package/src/tests/samples/genericTypes71.py +0 -72
  888. package/src/tests/samples/genericTypes72.py +0 -24
  889. package/src/tests/samples/genericTypes73.py +0 -14
  890. package/src/tests/samples/genericTypes74.py +0 -23
  891. package/src/tests/samples/genericTypes75.py +0 -45
  892. package/src/tests/samples/genericTypes76.py +0 -107
  893. package/src/tests/samples/genericTypes77.py +0 -26
  894. package/src/tests/samples/genericTypes78.py +0 -23
  895. package/src/tests/samples/genericTypes79.py +0 -37
  896. package/src/tests/samples/genericTypes8.py +0 -26
  897. package/src/tests/samples/genericTypes80.py +0 -10
  898. package/src/tests/samples/genericTypes81.py +0 -32
  899. package/src/tests/samples/genericTypes82.py +0 -19
  900. package/src/tests/samples/genericTypes83.py +0 -28
  901. package/src/tests/samples/genericTypes84.py +0 -11
  902. package/src/tests/samples/genericTypes85.py +0 -20
  903. package/src/tests/samples/genericTypes86.py +0 -15
  904. package/src/tests/samples/genericTypes87.py +0 -21
  905. package/src/tests/samples/genericTypes88.py +0 -25
  906. package/src/tests/samples/genericTypes89.py +0 -17
  907. package/src/tests/samples/genericTypes9.py +0 -109
  908. package/src/tests/samples/genericTypes90.py +0 -12
  909. package/src/tests/samples/genericTypes91.py +0 -20
  910. package/src/tests/samples/import1.py +0 -7
  911. package/src/tests/samples/import10.py +0 -11
  912. package/src/tests/samples/import11.py +0 -11
  913. package/src/tests/samples/import12.py +0 -5
  914. package/src/tests/samples/import13.py +0 -6
  915. package/src/tests/samples/import14.py +0 -10
  916. package/src/tests/samples/import2.py +0 -27
  917. package/src/tests/samples/import3.py +0 -8
  918. package/src/tests/samples/import4.py +0 -15
  919. package/src/tests/samples/import5.py +0 -6
  920. package/src/tests/samples/import6.py +0 -17
  921. package/src/tests/samples/import7.py +0 -14
  922. package/src/tests/samples/import8.py +0 -7
  923. package/src/tests/samples/import9.py +0 -7
  924. package/src/tests/samples/inconsistentConstructor1.py +0 -23
  925. package/src/tests/samples/inconsistentSpaceTab1.py +0 -9
  926. package/src/tests/samples/inconsistentSpaceTab2.py +0 -10
  927. package/src/tests/samples/index1.py +0 -97
  928. package/src/tests/samples/inferredTypes1.py +0 -25
  929. package/src/tests/samples/initVar1.py +0 -23
  930. package/src/tests/samples/initsubclass1.py +0 -46
  931. package/src/tests/samples/initsubclass2.py +0 -16
  932. package/src/tests/samples/isinstance1.py +0 -57
  933. package/src/tests/samples/isinstance10.py +0 -15
  934. package/src/tests/samples/isinstance2.py +0 -28
  935. package/src/tests/samples/isinstance3.py +0 -59
  936. package/src/tests/samples/isinstance4.py +0 -57
  937. package/src/tests/samples/isinstance5.py +0 -8
  938. package/src/tests/samples/isinstance6.py +0 -19
  939. package/src/tests/samples/isinstance7.py +0 -42
  940. package/src/tests/samples/isinstance9.py +0 -26
  941. package/src/tests/samples/kwargsUnpack1.py +0 -116
  942. package/src/tests/samples/lambda1.py +0 -77
  943. package/src/tests/samples/lambda2.py +0 -26
  944. package/src/tests/samples/lambda3.py +0 -34
  945. package/src/tests/samples/lambda4.py +0 -70
  946. package/src/tests/samples/lambda5.py +0 -23
  947. package/src/tests/samples/lambda6.py +0 -15
  948. package/src/tests/samples/lines1.py +0 -14
  949. package/src/tests/samples/list1.py +0 -90
  950. package/src/tests/samples/listComprehension1.py +0 -45
  951. package/src/tests/samples/listComprehension2.py +0 -17
  952. package/src/tests/samples/listComprehension3.py +0 -12
  953. package/src/tests/samples/listComprehension4.py +0 -15
  954. package/src/tests/samples/listComprehension5.py +0 -20
  955. package/src/tests/samples/listComprehension6.py +0 -14
  956. package/src/tests/samples/listComprehension7.py +0 -15
  957. package/src/tests/samples/listComprehension8.py +0 -15
  958. package/src/tests/samples/literalString1.py +0 -43
  959. package/src/tests/samples/literals1.py +0 -48
  960. package/src/tests/samples/literals2.py +0 -30
  961. package/src/tests/samples/literals3.py +0 -40
  962. package/src/tests/samples/literals4.py +0 -10
  963. package/src/tests/samples/literals5.py +0 -28
  964. package/src/tests/samples/literals6.py +0 -90
  965. package/src/tests/samples/literals7.py +0 -38
  966. package/src/tests/samples/loops1.py +0 -45
  967. package/src/tests/samples/loops10.py +0 -11
  968. package/src/tests/samples/loops11.py +0 -22
  969. package/src/tests/samples/loops12.py +0 -18
  970. package/src/tests/samples/loops13.py +0 -13
  971. package/src/tests/samples/loops14.py +0 -22
  972. package/src/tests/samples/loops15.py +0 -22
  973. package/src/tests/samples/loops16.py +0 -322
  974. package/src/tests/samples/loops17.py +0 -9
  975. package/src/tests/samples/loops18.py +0 -23
  976. package/src/tests/samples/loops19.py +0 -14
  977. package/src/tests/samples/loops2.py +0 -25
  978. package/src/tests/samples/loops20.py +0 -41
  979. package/src/tests/samples/loops21.py +0 -18
  980. package/src/tests/samples/loops22.py +0 -21
  981. package/src/tests/samples/loops23.py +0 -16
  982. package/src/tests/samples/loops24.py +0 -12
  983. package/src/tests/samples/loops25.py +0 -45
  984. package/src/tests/samples/loops26.py +0 -12
  985. package/src/tests/samples/loops3.py +0 -11
  986. package/src/tests/samples/loops4.py +0 -17
  987. package/src/tests/samples/loops5.py +0 -14
  988. package/src/tests/samples/loops6.py +0 -25
  989. package/src/tests/samples/loops7.py +0 -14
  990. package/src/tests/samples/loops8.py +0 -17
  991. package/src/tests/samples/loops9.py +0 -25
  992. package/src/tests/samples/match1.py +0 -190
  993. package/src/tests/samples/match10.py +0 -67
  994. package/src/tests/samples/match2.py +0 -340
  995. package/src/tests/samples/match3.py +0 -364
  996. package/src/tests/samples/match4.py +0 -100
  997. package/src/tests/samples/match5.py +0 -70
  998. package/src/tests/samples/match6.py +0 -64
  999. package/src/tests/samples/match7.py +0 -65
  1000. package/src/tests/samples/match8.py +0 -19
  1001. package/src/tests/samples/match9.py +0 -53
  1002. package/src/tests/samples/maxParseDepth1.py +0 -499
  1003. package/src/tests/samples/maxParseDepth2.py +0 -16
  1004. package/src/tests/samples/memberAccess1.py +0 -70
  1005. package/src/tests/samples/memberAccess10.py +0 -65
  1006. package/src/tests/samples/memberAccess11.py +0 -37
  1007. package/src/tests/samples/memberAccess12.py +0 -36
  1008. package/src/tests/samples/memberAccess13.py +0 -17
  1009. package/src/tests/samples/memberAccess14.py +0 -63
  1010. package/src/tests/samples/memberAccess15.py +0 -20
  1011. package/src/tests/samples/memberAccess16.py +0 -12
  1012. package/src/tests/samples/memberAccess17.py +0 -31
  1013. package/src/tests/samples/memberAccess18.py +0 -31
  1014. package/src/tests/samples/memberAccess2.py +0 -45
  1015. package/src/tests/samples/memberAccess3.py +0 -64
  1016. package/src/tests/samples/memberAccess4.py +0 -91
  1017. package/src/tests/samples/memberAccess5.py +0 -26
  1018. package/src/tests/samples/memberAccess6.py +0 -52
  1019. package/src/tests/samples/memberAccess7.py +0 -36
  1020. package/src/tests/samples/memberAccess8.py +0 -75
  1021. package/src/tests/samples/memberAccess9.py +0 -11
  1022. package/src/tests/samples/metaclass1.py +0 -7
  1023. package/src/tests/samples/metaclass2.py +0 -35
  1024. package/src/tests/samples/metaclass3.py +0 -43
  1025. package/src/tests/samples/metaclass4.py +0 -26
  1026. package/src/tests/samples/metaclass5.py +0 -33
  1027. package/src/tests/samples/metaclass6.py +0 -15
  1028. package/src/tests/samples/metaclass7.py +0 -38
  1029. package/src/tests/samples/metaclass8.py +0 -20
  1030. package/src/tests/samples/metaclass9.py +0 -77
  1031. package/src/tests/samples/methodOverride1.py +0 -507
  1032. package/src/tests/samples/methodOverride2.py +0 -74
  1033. package/src/tests/samples/methodOverride3.py +0 -111
  1034. package/src/tests/samples/methodOverride4.py +0 -36
  1035. package/src/tests/samples/missingSuper1.py +0 -73
  1036. package/src/tests/samples/module1.py +0 -13
  1037. package/src/tests/samples/module2.py +0 -7
  1038. package/src/tests/samples/mro1.py +0 -16
  1039. package/src/tests/samples/mro2.py +0 -45
  1040. package/src/tests/samples/mro3.py +0 -30
  1041. package/src/tests/samples/mro4.py +0 -30
  1042. package/src/tests/samples/nameBindings1.py +0 -48
  1043. package/src/tests/samples/nameBindings2.py +0 -9
  1044. package/src/tests/samples/nameBindings3.py +0 -36
  1045. package/src/tests/samples/nameBindings4.py +0 -10
  1046. package/src/tests/samples/nameBindings5.py +0 -53
  1047. package/src/tests/samples/namedTuples1.py +0 -103
  1048. package/src/tests/samples/namedTuples2.py +0 -56
  1049. package/src/tests/samples/namedTuples3.py +0 -15
  1050. package/src/tests/samples/namedTuples4.py +0 -24
  1051. package/src/tests/samples/namedTuples5.py +0 -15
  1052. package/src/tests/samples/namedTuples6.py +0 -31
  1053. package/src/tests/samples/namedTuples7.py +0 -27
  1054. package/src/tests/samples/never1.py +0 -12
  1055. package/src/tests/samples/never2.py +0 -43
  1056. package/src/tests/samples/newType1.py +0 -34
  1057. package/src/tests/samples/newType2.py +0 -25
  1058. package/src/tests/samples/newType3.py +0 -34
  1059. package/src/tests/samples/newType4.py +0 -8
  1060. package/src/tests/samples/none1.py +0 -29
  1061. package/src/tests/samples/none2.py +0 -22
  1062. package/src/tests/samples/noreturn1.py +0 -78
  1063. package/src/tests/samples/noreturn2.py +0 -37
  1064. package/src/tests/samples/noreturn3.py +0 -16
  1065. package/src/tests/samples/noreturn4.py +0 -29
  1066. package/src/tests/samples/operators1.py +0 -101
  1067. package/src/tests/samples/operators2.py +0 -30
  1068. package/src/tests/samples/operators3.py +0 -8
  1069. package/src/tests/samples/operators4.py +0 -22
  1070. package/src/tests/samples/operators5.py +0 -5
  1071. package/src/tests/samples/operators6.py +0 -10
  1072. package/src/tests/samples/operators7.py +0 -24
  1073. package/src/tests/samples/operators8.py +0 -125
  1074. package/src/tests/samples/optional1.py +0 -77
  1075. package/src/tests/samples/optional2.py +0 -23
  1076. package/src/tests/samples/overload1.py +0 -50
  1077. package/src/tests/samples/overload10.py +0 -48
  1078. package/src/tests/samples/overload2.py +0 -37
  1079. package/src/tests/samples/overload3.py +0 -29
  1080. package/src/tests/samples/overload4.py +0 -46
  1081. package/src/tests/samples/overload5.py +0 -333
  1082. package/src/tests/samples/overload6.py +0 -64
  1083. package/src/tests/samples/overload7.py +0 -376
  1084. package/src/tests/samples/overload8.py +0 -89
  1085. package/src/tests/samples/overload9.py +0 -19
  1086. package/src/tests/samples/package1/__init__.py +0 -3
  1087. package/src/tests/samples/package1/psyche/pysche.py +0 -4
  1088. package/src/tests/samples/package1/psyche.py +0 -4
  1089. package/src/tests/samples/package1/sub/__init__.py +0 -5
  1090. package/src/tests/samples/package1/sub.py +0 -4
  1091. package/src/tests/samples/package1/sub.pyi +0 -2
  1092. package/src/tests/samples/paramInference1.py +0 -27
  1093. package/src/tests/samples/paramNames1.py +0 -39
  1094. package/src/tests/samples/paramSpec1.py +0 -64
  1095. package/src/tests/samples/paramSpec10.py +0 -57
  1096. package/src/tests/samples/paramSpec11.py +0 -36
  1097. package/src/tests/samples/paramSpec12.py +0 -88
  1098. package/src/tests/samples/paramSpec13.py +0 -112
  1099. package/src/tests/samples/paramSpec14.py +0 -30
  1100. package/src/tests/samples/paramSpec15.py +0 -28
  1101. package/src/tests/samples/paramSpec16.py +0 -28
  1102. package/src/tests/samples/paramSpec17.py +0 -34
  1103. package/src/tests/samples/paramSpec18.py +0 -43
  1104. package/src/tests/samples/paramSpec19.py +0 -93
  1105. package/src/tests/samples/paramSpec2.py +0 -29
  1106. package/src/tests/samples/paramSpec20.py +0 -87
  1107. package/src/tests/samples/paramSpec21.py +0 -58
  1108. package/src/tests/samples/paramSpec22.py +0 -26
  1109. package/src/tests/samples/paramSpec23.py +0 -21
  1110. package/src/tests/samples/paramSpec24.py +0 -67
  1111. package/src/tests/samples/paramSpec25.py +0 -36
  1112. package/src/tests/samples/paramSpec26.py +0 -25
  1113. package/src/tests/samples/paramSpec27.py +0 -57
  1114. package/src/tests/samples/paramSpec28.py +0 -39
  1115. package/src/tests/samples/paramSpec29.py +0 -37
  1116. package/src/tests/samples/paramSpec3.py +0 -71
  1117. package/src/tests/samples/paramSpec30.py +0 -49
  1118. package/src/tests/samples/paramSpec31.py +0 -16
  1119. package/src/tests/samples/paramSpec32.py +0 -57
  1120. package/src/tests/samples/paramSpec33.py +0 -29
  1121. package/src/tests/samples/paramSpec34.py +0 -29
  1122. package/src/tests/samples/paramSpec35.py +0 -24
  1123. package/src/tests/samples/paramSpec36.py +0 -43
  1124. package/src/tests/samples/paramSpec37.py +0 -25
  1125. package/src/tests/samples/paramSpec4.py +0 -109
  1126. package/src/tests/samples/paramSpec5.py +0 -29
  1127. package/src/tests/samples/paramSpec6.py +0 -17
  1128. package/src/tests/samples/paramSpec7.py +0 -22
  1129. package/src/tests/samples/paramSpec8.py +0 -45
  1130. package/src/tests/samples/paramSpec9.py +0 -57
  1131. package/src/tests/samples/paramType1.py +0 -71
  1132. package/src/tests/samples/parameters1.py +0 -16
  1133. package/src/tests/samples/partial1.py +0 -163
  1134. package/src/tests/samples/partial2.py +0 -31
  1135. package/src/tests/samples/private1.py +0 -55
  1136. package/src/tests/samples/private2.py +0 -11
  1137. package/src/tests/samples/project1/pyrightconfig.json +0 -5
  1138. package/src/tests/samples/project1/sample1.py +0 -0
  1139. package/src/tests/samples/project1/subfolder1/sample2.py +0 -0
  1140. package/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py +0 -0
  1141. package/src/tests/samples/project2/pyrightconfig.json +0 -3
  1142. package/src/tests/samples/project3/pyrightconfig.json +0 -7
  1143. package/src/tests/samples/project4/presentfile.py +0 -0
  1144. package/src/tests/samples/project4/pyrightconfig.json +0 -11
  1145. package/src/tests/samples/project4/subfolder/presentfile2.py +0 -0
  1146. package/src/tests/samples/project4/subfolder/presentfile3.py +0 -0
  1147. package/src/tests/samples/project5/pyrightconfig.json +0 -4
  1148. package/src/tests/samples/project6/app1.py +0 -0
  1149. package/src/tests/samples/project6/app2.py +0 -0
  1150. package/src/tests/samples/project6/projectA/foo/__init__.py +0 -0
  1151. package/src/tests/samples/project6/projectA/foo/bar/__init__.py +0 -0
  1152. package/src/tests/samples/project6/projectB/foo/__init__.py +0 -0
  1153. package/src/tests/samples/project6/projectB/foo/baz/__init__.py +0 -0
  1154. package/src/tests/samples/project_src/src/module1.py +0 -0
  1155. package/src/tests/samples/project_src_is_pkg/src/__init__.py +0 -0
  1156. package/src/tests/samples/project_src_is_pkg/src/module1.py +0 -0
  1157. package/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json +0 -3
  1158. package/src/tests/samples/project_src_with_config_extra_paths/src/module1.py +0 -0
  1159. package/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json +0 -2
  1160. package/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py +0 -0
  1161. package/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py +0 -1
  1162. package/src/tests/samples/project_src_with_extra_paths/src/module1.py +0 -2
  1163. package/src/tests/samples/project_with_pyproject_toml/pyproject.toml +0 -7
  1164. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py +0 -0
  1165. package/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg +0 -0
  1166. package/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json +0 -2
  1167. package/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py +0 -0
  1168. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py +0 -0
  1169. package/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py +0 -0
  1170. package/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py +0 -0
  1171. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py +0 -0
  1172. package/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg +0 -0
  1173. package/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json +0 -3
  1174. package/src/tests/samples/project_with_venv_auto_detect_include/sample1.py +0 -0
  1175. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py +0 -0
  1176. package/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py +0 -0
  1177. package/src/tests/samples/properties1.py +0 -64
  1178. package/src/tests/samples/properties10.py +0 -19
  1179. package/src/tests/samples/properties11.py +0 -45
  1180. package/src/tests/samples/properties12.py +0 -23
  1181. package/src/tests/samples/properties13.py +0 -15
  1182. package/src/tests/samples/properties2.py +0 -34
  1183. package/src/tests/samples/properties3.py +0 -93
  1184. package/src/tests/samples/properties4.py +0 -17
  1185. package/src/tests/samples/properties5.py +0 -29
  1186. package/src/tests/samples/properties6.py +0 -35
  1187. package/src/tests/samples/properties7.py +0 -30
  1188. package/src/tests/samples/properties8.py +0 -26
  1189. package/src/tests/samples/properties9.py +0 -24
  1190. package/src/tests/samples/protocol1.py +0 -132
  1191. package/src/tests/samples/protocol10.py +0 -36
  1192. package/src/tests/samples/protocol11.py +0 -32
  1193. package/src/tests/samples/protocol12.py +0 -12
  1194. package/src/tests/samples/protocol13.py +0 -26
  1195. package/src/tests/samples/protocol14.py +0 -27
  1196. package/src/tests/samples/protocol15.py +0 -27
  1197. package/src/tests/samples/protocol16.py +0 -22
  1198. package/src/tests/samples/protocol17.py +0 -94
  1199. package/src/tests/samples/protocol18.py +0 -27
  1200. package/src/tests/samples/protocol19.py +0 -39
  1201. package/src/tests/samples/protocol2.py +0 -38
  1202. package/src/tests/samples/protocol20.py +0 -22
  1203. package/src/tests/samples/protocol21.py +0 -26
  1204. package/src/tests/samples/protocol22.py +0 -43
  1205. package/src/tests/samples/protocol23.py +0 -41
  1206. package/src/tests/samples/protocol24.py +0 -74
  1207. package/src/tests/samples/protocol25.py +0 -31
  1208. package/src/tests/samples/protocol26.py +0 -40
  1209. package/src/tests/samples/protocol27.py +0 -76
  1210. package/src/tests/samples/protocol28.py +0 -32
  1211. package/src/tests/samples/protocol29.py +0 -26
  1212. package/src/tests/samples/protocol3.py +0 -110
  1213. package/src/tests/samples/protocol30.py +0 -30
  1214. package/src/tests/samples/protocol31.py +0 -22
  1215. package/src/tests/samples/protocol32.py +0 -67
  1216. package/src/tests/samples/protocol33.py +0 -39
  1217. package/src/tests/samples/protocol34.py +0 -21
  1218. package/src/tests/samples/protocol4.py +0 -22
  1219. package/src/tests/samples/protocol5.py +0 -25
  1220. package/src/tests/samples/protocol6.py +0 -65
  1221. package/src/tests/samples/protocol7.py +0 -24
  1222. package/src/tests/samples/protocol8.py +0 -34
  1223. package/src/tests/samples/protocol9.py +0 -35
  1224. package/src/tests/samples/protocolModule1.py +0 -15
  1225. package/src/tests/samples/protocolModule2.py +0 -83
  1226. package/src/tests/samples/protocolModule3.py +0 -14
  1227. package/src/tests/samples/protocolModule4.py +0 -26
  1228. package/src/tests/samples/pseudoGeneric1.py +0 -20
  1229. package/src/tests/samples/pyrightIgnore1.py +0 -11
  1230. package/src/tests/samples/pyrightIgnore2.py +0 -24
  1231. package/src/tests/samples/python2.py +0 -31
  1232. package/src/tests/samples/recursiveTypeAlias1.py +0 -79
  1233. package/src/tests/samples/recursiveTypeAlias2.py +0 -32
  1234. package/src/tests/samples/recursiveTypeAlias3.py +0 -26
  1235. package/src/tests/samples/recursiveTypeAlias4.py +0 -55
  1236. package/src/tests/samples/recursiveTypeAlias5.pyi +0 -10
  1237. package/src/tests/samples/recursiveTypeAlias6.py +0 -25
  1238. package/src/tests/samples/recursiveTypeAlias7.py +0 -15
  1239. package/src/tests/samples/recursiveTypeAlias8.py +0 -38
  1240. package/src/tests/samples/recursiveTypeAlias9.py +0 -22
  1241. package/src/tests/samples/required1.py +0 -47
  1242. package/src/tests/samples/required2.py +0 -56
  1243. package/src/tests/samples/required3.py +0 -22
  1244. package/src/tests/samples/returnTypes1.py +0 -26
  1245. package/src/tests/samples/revealedType1.py +0 -30
  1246. package/src/tests/samples/sample1.py +0 -6
  1247. package/src/tests/samples/self1.py +0 -93
  1248. package/src/tests/samples/self2.py +0 -195
  1249. package/src/tests/samples/self3.py +0 -9
  1250. package/src/tests/samples/self4.py +0 -18
  1251. package/src/tests/samples/self5.py +0 -26
  1252. package/src/tests/samples/setComprehension1.py +0 -34
  1253. package/src/tests/samples/slots1.py +0 -63
  1254. package/src/tests/samples/slots2.py +0 -38
  1255. package/src/tests/samples/slots3.py +0 -35
  1256. package/src/tests/samples/specialization1.py +0 -78
  1257. package/src/tests/samples/specialization2.py +0 -51
  1258. package/src/tests/samples/staticExpressions1.py +0 -52
  1259. package/src/tests/samples/strings1.py +0 -22
  1260. package/src/tests/samples/subscript1.py +0 -74
  1261. package/src/tests/samples/subscript2.py +0 -55
  1262. package/src/tests/samples/subscript3.py +0 -135
  1263. package/src/tests/samples/suiteExpectedColon1.py +0 -4
  1264. package/src/tests/samples/suiteExpectedColon2.py +0 -2
  1265. package/src/tests/samples/suiteExpectedColon3.py +0 -2
  1266. package/src/tests/samples/super1.py +0 -57
  1267. package/src/tests/samples/super2.py +0 -29
  1268. package/src/tests/samples/super3.py +0 -10
  1269. package/src/tests/samples/super4.py +0 -24
  1270. package/src/tests/samples/super5.py +0 -28
  1271. package/src/tests/samples/super6.py +0 -17
  1272. package/src/tests/samples/super7.py +0 -52
  1273. package/src/tests/samples/super8.py +0 -7
  1274. package/src/tests/samples/super9.py +0 -36
  1275. package/src/tests/samples/test_file1.py +0 -0
  1276. package/src/tests/samples/threePartVersion1.py +0 -33
  1277. package/src/tests/samples/totalOrdering1.py +0 -52
  1278. package/src/tests/samples/tryExcept1.py +0 -39
  1279. package/src/tests/samples/tryExcept10.py +0 -12
  1280. package/src/tests/samples/tryExcept2.py +0 -16
  1281. package/src/tests/samples/tryExcept3.py +0 -12
  1282. package/src/tests/samples/tryExcept4.py +0 -28
  1283. package/src/tests/samples/tryExcept5.py +0 -30
  1284. package/src/tests/samples/tryExcept6.py +0 -27
  1285. package/src/tests/samples/tryExcept7.py +0 -17
  1286. package/src/tests/samples/tryExcept8.py +0 -69
  1287. package/src/tests/samples/tryExcept9.py +0 -42
  1288. package/src/tests/samples/tupleUnpack1.py +0 -63
  1289. package/src/tests/samples/tupleUnpack2.py +0 -56
  1290. package/src/tests/samples/tupleUnpack3.py +0 -28
  1291. package/src/tests/samples/tuples1.py +0 -185
  1292. package/src/tests/samples/tuples10.py +0 -30
  1293. package/src/tests/samples/tuples11.py +0 -21
  1294. package/src/tests/samples/tuples12.py +0 -31
  1295. package/src/tests/samples/tuples13.py +0 -26
  1296. package/src/tests/samples/tuples15.py +0 -16
  1297. package/src/tests/samples/tuples16.py +0 -14
  1298. package/src/tests/samples/tuples2.py +0 -23
  1299. package/src/tests/samples/tuples3.py +0 -15
  1300. package/src/tests/samples/tuples4.py +0 -21
  1301. package/src/tests/samples/tuples5.py +0 -16
  1302. package/src/tests/samples/tuples6.py +0 -56
  1303. package/src/tests/samples/tuples7.py +0 -61
  1304. package/src/tests/samples/tuples8.py +0 -98
  1305. package/src/tests/samples/tuples9.py +0 -17
  1306. package/src/tests/samples/typeAlias1.py +0 -37
  1307. package/src/tests/samples/typeAlias10.py +0 -45
  1308. package/src/tests/samples/typeAlias11.py +0 -37
  1309. package/src/tests/samples/typeAlias12.py +0 -20
  1310. package/src/tests/samples/typeAlias13.py +0 -53
  1311. package/src/tests/samples/typeAlias14.py +0 -29
  1312. package/src/tests/samples/typeAlias15.py +0 -24
  1313. package/src/tests/samples/typeAlias16.py +0 -24
  1314. package/src/tests/samples/typeAlias2.py +0 -26
  1315. package/src/tests/samples/typeAlias3.py +0 -35
  1316. package/src/tests/samples/typeAlias4.py +0 -68
  1317. package/src/tests/samples/typeAlias5.py +0 -56
  1318. package/src/tests/samples/typeAlias6.py +0 -51
  1319. package/src/tests/samples/typeAlias7.py +0 -50
  1320. package/src/tests/samples/typeAlias8.py +0 -24
  1321. package/src/tests/samples/typeAlias9.py +0 -35
  1322. package/src/tests/samples/typeGuard1.py +0 -68
  1323. package/src/tests/samples/typeGuard2.py +0 -58
  1324. package/src/tests/samples/typeGuard3.py +0 -98
  1325. package/src/tests/samples/typeIgnore1.py +0 -10
  1326. package/src/tests/samples/typeIgnore2.py +0 -20
  1327. package/src/tests/samples/typeIgnore3.py +0 -22
  1328. package/src/tests/samples/typeIgnore4.py +0 -10
  1329. package/src/tests/samples/typeIgnore5.py +0 -7
  1330. package/src/tests/samples/typeNarrowing1.py +0 -56
  1331. package/src/tests/samples/typeNarrowing2.py +0 -14
  1332. package/src/tests/samples/typeNarrowing3.py +0 -47
  1333. package/src/tests/samples/typeNarrowing4.py +0 -24
  1334. package/src/tests/samples/typeNarrowing5.py +0 -19
  1335. package/src/tests/samples/typeNarrowing6.py +0 -27
  1336. package/src/tests/samples/typeNarrowing7.py +0 -71
  1337. package/src/tests/samples/typeNarrowingAssert1.py +0 -24
  1338. package/src/tests/samples/typeNarrowingCallable1.py +0 -78
  1339. package/src/tests/samples/typeNarrowingEnum1.py +0 -58
  1340. package/src/tests/samples/typeNarrowingEnum2.py +0 -71
  1341. package/src/tests/samples/typeNarrowingFalsy1.py +0 -50
  1342. package/src/tests/samples/typeNarrowingIn1.py +0 -97
  1343. package/src/tests/samples/typeNarrowingIsNone1.py +0 -56
  1344. package/src/tests/samples/typeNarrowingIsNone2.py +0 -8
  1345. package/src/tests/samples/typeNarrowingIsNoneTuple1.py +0 -42
  1346. package/src/tests/samples/typeNarrowingIsNoneTuple2.py +0 -35
  1347. package/src/tests/samples/typeNarrowingIsinstance1.py +0 -162
  1348. package/src/tests/samples/typeNarrowingIsinstance2.py +0 -14
  1349. package/src/tests/samples/typeNarrowingIsinstance3.py +0 -78
  1350. package/src/tests/samples/typeNarrowingIsinstance4.py +0 -50
  1351. package/src/tests/samples/typeNarrowingIsinstance5.py +0 -39
  1352. package/src/tests/samples/typeNarrowingIsinstance6.py +0 -77
  1353. package/src/tests/samples/typeNarrowingIsinstance7.py +0 -19
  1354. package/src/tests/samples/typeNarrowingIsinstance8.py +0 -19
  1355. package/src/tests/samples/typeNarrowingLiteral1.py +0 -35
  1356. package/src/tests/samples/typeNarrowingLiteral2.py +0 -63
  1357. package/src/tests/samples/typeNarrowingLiteralMember1.py +0 -140
  1358. package/src/tests/samples/typeNarrowingLocalConst1.py +0 -136
  1359. package/src/tests/samples/typeNarrowingNoneMember1.py +0 -102
  1360. package/src/tests/samples/typeNarrowingTuple1.py +0 -23
  1361. package/src/tests/samples/typeNarrowingTupleLength1.py +0 -47
  1362. package/src/tests/samples/typeNarrowingTypeIs1.py +0 -95
  1363. package/src/tests/samples/typeNarrowingTypedDict1.py +0 -99
  1364. package/src/tests/samples/typeNarrowingTypedDict2.py +0 -35
  1365. package/src/tests/samples/typeNarrowingTypedDict3.py +0 -45
  1366. package/src/tests/samples/typePromotions1.py +0 -30
  1367. package/src/tests/samples/typeVar1.py +0 -23
  1368. package/src/tests/samples/typeVar10.py +0 -21
  1369. package/src/tests/samples/typeVar11.py +0 -12
  1370. package/src/tests/samples/typeVar2.py +0 -26
  1371. package/src/tests/samples/typeVar3.py +0 -73
  1372. package/src/tests/samples/typeVar4.py +0 -45
  1373. package/src/tests/samples/typeVar5.py +0 -75
  1374. package/src/tests/samples/typeVar6.py +0 -115
  1375. package/src/tests/samples/typeVar7.py +0 -171
  1376. package/src/tests/samples/typeVar8.py +0 -30
  1377. package/src/tests/samples/typeVar9.py +0 -118
  1378. package/src/tests/samples/typedDict1.py +0 -63
  1379. package/src/tests/samples/typedDict10.py +0 -34
  1380. package/src/tests/samples/typedDict11.py +0 -12
  1381. package/src/tests/samples/typedDict12.py +0 -103
  1382. package/src/tests/samples/typedDict13.py +0 -14
  1383. package/src/tests/samples/typedDict14.py +0 -25
  1384. package/src/tests/samples/typedDict15.py +0 -53
  1385. package/src/tests/samples/typedDict16.py +0 -103
  1386. package/src/tests/samples/typedDict17.py +0 -24
  1387. package/src/tests/samples/typedDict18.py +0 -43
  1388. package/src/tests/samples/typedDict2.py +0 -56
  1389. package/src/tests/samples/typedDict3.py +0 -40
  1390. package/src/tests/samples/typedDict4.py +0 -68
  1391. package/src/tests/samples/typedDict5.py +0 -50
  1392. package/src/tests/samples/typedDict6.py +0 -77
  1393. package/src/tests/samples/typedDict7.py +0 -22
  1394. package/src/tests/samples/typedDict8.py +0 -19
  1395. package/src/tests/samples/typedDict9.py +0 -22
  1396. package/src/tests/samples/unbound1.py +0 -18
  1397. package/src/tests/samples/unbound2.py +0 -12
  1398. package/src/tests/samples/unbound3.py +0 -13
  1399. package/src/tests/samples/unbound4.py +0 -25
  1400. package/src/tests/samples/unicode1.py +0 -39
  1401. package/src/tests/samples/uninitializedVariable1.py +0 -27
  1402. package/src/tests/samples/unions1.py +0 -79
  1403. package/src/tests/samples/unions2.py +0 -15
  1404. package/src/tests/samples/unions3.py +0 -48
  1405. package/src/tests/samples/unions4.py +0 -20
  1406. package/src/tests/samples/unions5.py +0 -43
  1407. package/src/tests/samples/unnecessaryCast1.py +0 -13
  1408. package/src/tests/samples/unnecessaryIsInstance1.py +0 -91
  1409. package/src/tests/samples/unnecessaryIsSubclass1.py +0 -22
  1410. package/src/tests/samples/unpack1.py +0 -56
  1411. package/src/tests/samples/unpack2.py +0 -27
  1412. package/src/tests/samples/unpack3.py +0 -16
  1413. package/src/tests/samples/unpack4.py +0 -15
  1414. package/src/tests/samples/unreachable1.py +0 -112
  1415. package/src/tests/samples/unusedCallResult1.py +0 -67
  1416. package/src/tests/samples/unusedCoroutine1.py +0 -23
  1417. package/src/tests/samples/unusedExpression1.py +0 -34
  1418. package/src/tests/samples/unusedVariable1.py +0 -21
  1419. package/src/tests/samples/variadicTypeVar1.py +0 -51
  1420. package/src/tests/samples/variadicTypeVar10.py +0 -65
  1421. package/src/tests/samples/variadicTypeVar11.py +0 -72
  1422. package/src/tests/samples/variadicTypeVar12.py +0 -26
  1423. package/src/tests/samples/variadicTypeVar13.py +0 -35
  1424. package/src/tests/samples/variadicTypeVar14.py +0 -72
  1425. package/src/tests/samples/variadicTypeVar2.py +0 -63
  1426. package/src/tests/samples/variadicTypeVar3.py +0 -86
  1427. package/src/tests/samples/variadicTypeVar4.py +0 -71
  1428. package/src/tests/samples/variadicTypeVar5.py +0 -131
  1429. package/src/tests/samples/variadicTypeVar6.py +0 -78
  1430. package/src/tests/samples/variadicTypeVar7.py +0 -59
  1431. package/src/tests/samples/variadicTypeVar8.py +0 -116
  1432. package/src/tests/samples/variadicTypeVar9.py +0 -38
  1433. package/src/tests/samples/with1.py +0 -117
  1434. package/src/tests/samples/with2.py +0 -63
  1435. package/src/tests/samples/with3.py +0 -66
  1436. package/src/tests/samples/with4.py +0 -24
  1437. package/src/tests/samples/with5.py +0 -33
  1438. package/src/tests/samples/zipfs/bad.egg +0 -1
  1439. package/src/tests/samples/zipfs/bad.zip +0 -1
  1440. package/src/tests/samples/zipfs/basic.egg +0 -0
  1441. package/src/tests/samples/zipfs/basic.zip +0 -0
  1442. package/src/tests/samples/zipfs/corrupt.egg +0 -0
  1443. package/src/tests/samples/zipfs/corrupt.zip +0 -0
  1444. package/src/tests/sourceFile.test.ts +0 -25
  1445. package/src/tests/stringUtils.test.ts +0 -63
  1446. package/src/tests/symbolNameUtils.test.ts +0 -77
  1447. package/src/tests/testState.test.ts +0 -579
  1448. package/src/tests/testUtils.ts +0 -251
  1449. package/src/tests/tokenizer.test.ts +0 -1534
  1450. package/src/tests/typeEvaluator1.test.ts +0 -1372
  1451. package/src/tests/typeEvaluator2.test.ts +0 -1253
  1452. package/src/tests/typeEvaluator3.test.ts +0 -1279
  1453. package/src/tests/typeEvaluator4.test.ts +0 -1178
  1454. package/src/tests/updateSymbolReference.test.ts +0 -1107
  1455. package/src/tests/zipfs.test.ts +0 -116
  1456. package/src/workspaceMap.ts +0 -76
@@ -1 +1 @@
1
- {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/analyzer/binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/analyzer/binder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AssertNode, AssignmentExpressionNode, AssignmentNode, AugmentedAssignmentNode, AwaitNode, BinaryOperationNode, CallNode, CaseNode, ClassNode, DelNode, DictionaryNode, ErrorNode, ExceptNode, FormatStringNode, ForNode, FunctionNode, GlobalNode, IfNode, ImportAsNode, ImportFromNode, IndexNode, LambdaNode, ListComprehensionIfNode, ListComprehensionNode, ListNode, MatchNode, MemberAccessNode, ModuleNode, NameNode, NonlocalNode, ParseNode, PatternClassNode, RaiseNode, ReturnNode, SetNode, SliceNode, StatementListNode, StringListNode, SuiteNode, TernaryNode, TryNode, TupleNode, TypeAnnotationNode, UnaryOperationNode, UnpackNode, WhileNode, WithNode, YieldFromNode, YieldNode } from '../parser/parseNodes';
1
+ import { AssertNode, AssignmentExpressionNode, AssignmentNode, AugmentedAssignmentNode, AwaitNode, BinaryOperationNode, CallNode, CaseNode, ClassNode, DelNode, DictionaryNode, ErrorNode, ExceptNode, FormatStringNode, ForNode, FunctionNode, GlobalNode, IfNode, ImportAsNode, ImportFromNode, IndexNode, LambdaNode, ListComprehensionIfNode, ListComprehensionNode, ListNode, MatchNode, MemberAccessNode, ModuleNode, NameNode, NonlocalNode, ParseNode, PatternClassNode, RaiseNode, ReturnNode, SetNode, SliceNode, StatementListNode, StringListNode, SuiteNode, TernaryNode, TryNode, TupleNode, TypeAnnotationNode, TypeParameterListNode, TypeParameterNode, UnaryOperationNode, UnpackNode, WhileNode, WithNode, YieldFromNode, YieldNode } from '../parser/parseNodes';
2
2
  import { ImportResolver } from './importResolver';
3
3
  import { ParseTreeWalker } from './parseTreeWalker';
4
4
  import { TypeEvaluator } from './typeEvaluatorTypes';
@@ -9,6 +9,7 @@ export declare class Checker extends ParseTreeWalker {
9
9
  private readonly _fileInfo;
10
10
  private _isUnboundCheckSuppressed;
11
11
  private _scopedNodes;
12
+ private _typeParameterLists;
12
13
  constructor(_importResolver: ImportResolver, _evaluator: TypeEvaluator, _moduleNode: ModuleNode);
13
14
  check(): void;
14
15
  walk(node: ParseNode): void;
@@ -53,6 +54,8 @@ export declare class Checker extends ParseTreeWalker {
53
54
  visitMemberAccess(node: MemberAccessNode): boolean;
54
55
  visitImportAs(node: ImportAsNode): boolean;
55
56
  visitImportFrom(node: ImportFromNode): boolean;
57
+ visitTypeParameterList(node: TypeParameterListNode): boolean;
58
+ visitTypeParameter(node: TypeParameterNode): boolean;
56
59
  visitTypeAnnotation(node: TypeAnnotationNode): boolean;
57
60
  visitMatch(node: MatchNode): boolean;
58
61
  visitCase(node: CaseNode): boolean;