@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 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parser/parser.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,14 @@
9
9
  * literal values.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getUnescapedString = void 0;
12
+ exports.getUnescapedString = exports.UnescapeErrorType = void 0;
13
+ var UnescapeErrorType;
14
+ (function (UnescapeErrorType) {
15
+ UnescapeErrorType[UnescapeErrorType["InvalidEscapeSequence"] = 0] = "InvalidEscapeSequence";
16
+ UnescapeErrorType[UnescapeErrorType["EscapeWithinFormatExpression"] = 1] = "EscapeWithinFormatExpression";
17
+ UnescapeErrorType[UnescapeErrorType["SingleCloseBraceWithinFormatLiteral"] = 2] = "SingleCloseBraceWithinFormatLiteral";
18
+ UnescapeErrorType[UnescapeErrorType["UnterminatedFormatExpression"] = 3] = "UnterminatedFormatExpression";
19
+ })(UnescapeErrorType = exports.UnescapeErrorType || (exports.UnescapeErrorType = {}));
13
20
  function completeUnescapedString(incomplete) {
14
21
  return {
15
22
  ...incomplete,