@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,1401 +0,0 @@
1
- /*
2
- * sourceFile.ts
3
- * Copyright (c) Microsoft Corporation.
4
- * Licensed under the MIT license.
5
- * Author: Eric Traut
6
- *
7
- * Class that represents a single python source file.
8
- */
9
-
10
- import {
11
- CancellationToken,
12
- CompletionItem,
13
- DocumentHighlight,
14
- DocumentSymbol,
15
- MarkupKind,
16
- } from 'vscode-languageserver';
17
- import { TextDocument, TextDocumentContentChangeEvent } from 'vscode-languageserver-textdocument';
18
- import { isMainThread } from 'worker_threads';
19
-
20
- import * as SymbolNameUtils from '../analyzer/symbolNameUtils';
21
- import { OperationCanceledException } from '../common/cancellationUtils';
22
- import { ConfigOptions, ExecutionEnvironment, getBasicDiagnosticRuleSet } from '../common/configOptions';
23
- import { ConsoleInterface, StandardConsole } from '../common/console';
24
- import { assert } from '../common/debug';
25
- import { convertLevelToCategory, Diagnostic, DiagnosticCategory } from '../common/diagnostic';
26
- import { DiagnosticSink, TextRangeDiagnosticSink } from '../common/diagnosticSink';
27
- import { TextEditAction } from '../common/editAction';
28
- import { FileSystem } from '../common/fileSystem';
29
- import { LogTracker } from '../common/logTracker';
30
- import { fromLSPAny } from '../common/lspUtils';
31
- import { getFileName, normalizeSlashes, stripFileExtension } from '../common/pathUtils';
32
- import { convertOffsetsToRange } from '../common/positionUtils';
33
- import * as StringUtils from '../common/stringUtils';
34
- import { DocumentRange, getEmptyRange, Position, TextRange } from '../common/textRange';
35
- import { TextRangeCollection } from '../common/textRangeCollection';
36
- import { Duration, timingStats } from '../common/timing';
37
- import { ModuleSymbolMap } from '../languageService/autoImporter';
38
- import { AbbreviationMap, CompletionOptions, CompletionResults } from '../languageService/completionProvider';
39
- import { CompletionItemData, CompletionProvider } from '../languageService/completionProvider';
40
- import { DefinitionFilter, DefinitionProvider } from '../languageService/definitionProvider';
41
- import { DocumentHighlightProvider } from '../languageService/documentHighlightProvider';
42
- import { DocumentSymbolProvider, IndexOptions, IndexResults } from '../languageService/documentSymbolProvider';
43
- import { HoverProvider, HoverResults } from '../languageService/hoverProvider';
44
- import { performQuickAction } from '../languageService/quickActions';
45
- import { ReferenceCallback, ReferencesProvider, ReferencesResult } from '../languageService/referencesProvider';
46
- import { SignatureHelpProvider, SignatureHelpResults } from '../languageService/signatureHelpProvider';
47
- import { Localizer } from '../localization/localize';
48
- import { ModuleNode, NameNode } from '../parser/parseNodes';
49
- import { ModuleImport, ParseOptions, Parser, ParseResults } from '../parser/parser';
50
- import { IgnoreComment } from '../parser/tokenizer';
51
- import { Token } from '../parser/tokenizerTypes';
52
- import { AnalyzerFileInfo, ImportLookup } from './analyzerFileInfo';
53
- import * as AnalyzerNodeInfo from './analyzerNodeInfo';
54
- import { Binder } from './binder';
55
- import { Checker } from './checker';
56
- import { CircularDependency } from './circularDependency';
57
- import * as CommentUtils from './commentUtils';
58
- import { ImportResolver } from './importResolver';
59
- import { ImportResult } from './importResult';
60
- import { ParseTreeCleanerWalker } from './parseTreeCleaner';
61
- import { Scope } from './scope';
62
- import { SourceMapper } from './sourceMapper';
63
- import { SymbolTable } from './symbol';
64
- import { TestWalker } from './testWalker';
65
- import { TypeEvaluator } from './typeEvaluatorTypes';
66
-
67
- // Limit the number of import cycles tracked per source file.
68
- const _maxImportCyclesPerFile = 4;
69
-
70
- // Allow files up to 50MB in length, same as VS Code.
71
- // https://github.com/microsoft/vscode/blob/1e750a7514f365585d8dab1a7a82e0938481ea2f/src/vs/editor/common/model/textModel.ts#L194
72
- const _maxSourceFileSize = 50 * 1024 * 1024;
73
-
74
- interface ResolveImportResult {
75
- imports: ImportResult[];
76
- builtinsImportResult?: ImportResult | undefined;
77
- ipythonDisplayImportResult?: ImportResult | undefined;
78
- }
79
-
80
- export class SourceFile {
81
- // Console interface to use for debugging.
82
- private _console: ConsoleInterface;
83
-
84
- // File path on disk.
85
- private readonly _filePath: string;
86
-
87
- // Period-delimited import path for the module.
88
- private readonly _moduleName: string;
89
-
90
- // True if file is a type-hint (.pyi) file versus a python
91
- // (.py) file.
92
- private readonly _isStubFile: boolean;
93
-
94
- // True if the file was imported as a third-party import.
95
- private readonly _isThirdPartyImport: boolean;
96
-
97
- // True if the file is the "typing.pyi" file, which needs
98
- // special-case handling.
99
- private readonly _isTypingStubFile: boolean;
100
-
101
- // True if the file is the "typing_extensions.pyi" file, which needs
102
- // special-case handling.
103
- private readonly _isTypingExtensionsStubFile: boolean;
104
-
105
- // True if the file one of the other built-in stub files
106
- // that require special-case handling: "collections.pyi",
107
- // "dataclasses.pyi", "abc.pyi", "asyncio/coroutines.pyi".
108
- private readonly _isBuiltInStubFile: boolean;
109
-
110
- // True if the file is part of a package that contains a
111
- // "py.typed" file.
112
- private readonly _isThirdPartyPyTypedPresent: boolean;
113
-
114
- // True if the file appears to have been deleted.
115
- private _isFileDeleted = false;
116
-
117
- // Number that is incremented every time the diagnostics
118
- // are updated.
119
- private _diagnosticVersion = 0;
120
-
121
- // Generation count of the file contents. When the contents
122
- // change, this is incremented.
123
- private _fileContentsVersion = 0;
124
-
125
- // Length and hash of the file the last time it was read from disk.
126
- private _lastFileContentLength: number | undefined = undefined;
127
- private _lastFileContentHash: number | undefined = undefined;
128
-
129
- // Client's version of the file. Undefined implies that contents
130
- // need to be read from disk.
131
- private _clientDocument: TextDocument | undefined;
132
-
133
- // Version of file contents that have been analyzed.
134
- private _analyzedFileContentsVersion = -1;
135
-
136
- // Do we need to walk the parse tree and clean
137
- // the binder information hanging from it?
138
- private _parseTreeNeedsCleaning = false;
139
-
140
- private _parseResults: ParseResults | undefined;
141
- private _moduleSymbolTable: SymbolTable | undefined;
142
- private _cachedIndexResults: IndexResults | undefined;
143
-
144
- // Reentrancy check for binding.
145
- private _isBindingInProgress = false;
146
-
147
- // Diagnostics generated during different phases of analysis.
148
- private _parseDiagnostics: Diagnostic[] = [];
149
- private _bindDiagnostics: Diagnostic[] = [];
150
- private _checkerDiagnostics: Diagnostic[] = [];
151
- private _typeIgnoreLines = new Map<number, IgnoreComment>();
152
- private _typeIgnoreAll: IgnoreComment | undefined;
153
- private _pyrightIgnoreLines = new Map<number, IgnoreComment>();
154
-
155
- // Settings that control which diagnostics should be output.
156
- private _diagnosticRuleSet = getBasicDiagnosticRuleSet();
157
-
158
- // Circular dependencies that have been reported in this file.
159
- private _circularDependencies: CircularDependency[] = [];
160
- private _noCircularDependencyConfirmed = false;
161
-
162
- // Did we hit the maximum import depth?
163
- private _hitMaxImportDepth: number | undefined;
164
-
165
- // Do we need to perform a binding step?
166
- private _isBindingNeeded = true;
167
-
168
- // Do we have valid diagnostic results from a checking pass?
169
- private _isCheckingNeeded = true;
170
-
171
- // Time (in ms) that the last check() call required for this file.
172
- private _checkTime: number | undefined;
173
-
174
- // Do we need to perform an indexing step?
175
- private _indexingNeeded = true;
176
-
177
- // Indicate whether this file is for ipython or not.
178
- private _ipythonMode = false;
179
-
180
- // Information about implicit and explicit imports from this file.
181
- private _imports: ImportResult[] | undefined;
182
- private _builtinsImport: ImportResult | undefined;
183
- private _ipythonDisplayImport: ImportResult | undefined;
184
-
185
- private _logTracker: LogTracker;
186
- readonly fileSystem: FileSystem;
187
-
188
- constructor(
189
- fs: FileSystem,
190
- filePath: string,
191
- moduleName: string,
192
- isThirdPartyImport: boolean,
193
- isThirdPartyPyTypedPresent: boolean,
194
- console?: ConsoleInterface,
195
- logTracker?: LogTracker,
196
- ipythonMode = false
197
- ) {
198
- this.fileSystem = fs;
199
- this._console = console || new StandardConsole();
200
- this._filePath = filePath;
201
- this._moduleName = moduleName;
202
- this._isStubFile = filePath.endsWith('.pyi');
203
- this._isThirdPartyImport = isThirdPartyImport;
204
- this._isThirdPartyPyTypedPresent = isThirdPartyPyTypedPresent;
205
- const fileName = getFileName(filePath);
206
- this._isTypingStubFile =
207
- this._isStubFile &&
208
- (this._filePath.endsWith(normalizeSlashes('stdlib/typing.pyi')) || fileName === 'typing_extensions.pyi');
209
- this._isTypingExtensionsStubFile = this._isStubFile && fileName === 'typing_extensions.pyi';
210
-
211
- this._isBuiltInStubFile = false;
212
- if (this._isStubFile) {
213
- if (
214
- this._filePath.endsWith(normalizeSlashes('stdlib/collections/__init__.pyi')) ||
215
- this._filePath.endsWith(normalizeSlashes('stdlib/asyncio/futures.pyi')) ||
216
- this._filePath.endsWith(normalizeSlashes('stdlib/asyncio/tasks.pyi')) ||
217
- this._filePath.endsWith(normalizeSlashes('stdlib/builtins.pyi')) ||
218
- this._filePath.endsWith(normalizeSlashes('stdlib/_importlib_modulespec.pyi')) ||
219
- this._filePath.endsWith(normalizeSlashes('stdlib/dataclasses.pyi')) ||
220
- this._filePath.endsWith(normalizeSlashes('stdlib/abc.pyi')) ||
221
- this._filePath.endsWith(normalizeSlashes('stdlib/enum.pyi')) ||
222
- this._filePath.endsWith(normalizeSlashes('stdlib/queue.pyi')) ||
223
- this._filePath.endsWith(normalizeSlashes('stdlib/types.pyi'))
224
- ) {
225
- this._isBuiltInStubFile = true;
226
- }
227
- }
228
-
229
- // 'FG' or 'BG' based on current thread.
230
- this._logTracker = logTracker ?? new LogTracker(console, isMainThread ? 'FG' : 'BG');
231
- this._ipythonMode = ipythonMode;
232
- }
233
-
234
- getFilePath(): string {
235
- return this._filePath;
236
- }
237
-
238
- getDiagnosticVersion(): number {
239
- return this._diagnosticVersion;
240
- }
241
-
242
- isStubFile() {
243
- return this._isStubFile;
244
- }
245
-
246
- isThirdPartyPyTypedPresent() {
247
- return this._isThirdPartyPyTypedPresent;
248
- }
249
-
250
- // Returns a list of cached diagnostics from the latest analysis job.
251
- // If the prevVersion is specified, the method returns undefined if
252
- // the diagnostics haven't changed.
253
- getDiagnostics(options: ConfigOptions, prevDiagnosticVersion?: number): Diagnostic[] | undefined {
254
- if (this._diagnosticVersion === prevDiagnosticVersion) {
255
- return undefined;
256
- }
257
-
258
- let includeWarningsAndErrors = true;
259
-
260
- // If a file was imported as a third-party file, don't report
261
- // any errors for it. The user can't fix them anyway.
262
- if (this._isThirdPartyImport) {
263
- includeWarningsAndErrors = false;
264
- }
265
-
266
- let diagList = [...this._parseDiagnostics, ...this._bindDiagnostics, ...this._checkerDiagnostics];
267
- const prefilteredDiagList = diagList;
268
- const typeIgnoreLinesClone = new Map(this._typeIgnoreLines);
269
- const pyrightIgnoreLinesClone = new Map(this._pyrightIgnoreLines);
270
-
271
- // Filter the diagnostics based on "type: ignore" lines.
272
- if (this._diagnosticRuleSet.enableTypeIgnoreComments) {
273
- if (this._typeIgnoreLines.size > 0) {
274
- diagList = diagList.filter((d) => {
275
- if (d.category !== DiagnosticCategory.UnusedCode && d.category !== DiagnosticCategory.Deprecated) {
276
- for (let line = d.range.start.line; line <= d.range.end.line; line++) {
277
- if (this._typeIgnoreLines.has(line)) {
278
- typeIgnoreLinesClone.delete(line);
279
- return false;
280
- }
281
- }
282
- }
283
-
284
- return true;
285
- });
286
- }
287
- }
288
-
289
- // Filter the diagnostics based on "pyright: ignore" lines.
290
- if (this._pyrightIgnoreLines.size > 0) {
291
- diagList = diagList.filter((d) => {
292
- if (d.category !== DiagnosticCategory.UnusedCode && d.category !== DiagnosticCategory.Deprecated) {
293
- for (let line = d.range.start.line; line <= d.range.end.line; line++) {
294
- const pyrightIgnoreComment = this._pyrightIgnoreLines.get(line);
295
- if (pyrightIgnoreComment) {
296
- if (!pyrightIgnoreComment.rulesList) {
297
- pyrightIgnoreLinesClone.delete(line);
298
- return false;
299
- }
300
-
301
- const diagRule = d.getRule();
302
- if (!diagRule) {
303
- // If there's no diagnostic rule, it won't match
304
- // against a rules list.
305
- return true;
306
- }
307
-
308
- // Did we find this rule in the list?
309
- if (pyrightIgnoreComment.rulesList.find((rule) => rule.text === diagRule)) {
310
- // Update the pyrightIgnoreLinesClone to remove this rule.
311
- const oldClone = pyrightIgnoreLinesClone.get(line);
312
- if (oldClone?.rulesList) {
313
- const filteredRulesList = oldClone.rulesList.filter(
314
- (rule) => rule.text !== diagRule
315
- );
316
- if (filteredRulesList.length === 0) {
317
- pyrightIgnoreLinesClone.delete(line);
318
- } else {
319
- pyrightIgnoreLinesClone.set(line, {
320
- range: oldClone.range,
321
- rulesList: filteredRulesList,
322
- });
323
- }
324
- }
325
-
326
- return false;
327
- }
328
-
329
- return true;
330
- }
331
- }
332
- }
333
-
334
- return true;
335
- });
336
- }
337
-
338
- const unnecessaryTypeIgnoreDiags: Diagnostic[] = [];
339
-
340
- if (this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment !== 'none') {
341
- const diagCategory = convertLevelToCategory(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);
342
-
343
- const prefilteredErrorList = prefilteredDiagList.filter(
344
- (diag) =>
345
- diag.category === DiagnosticCategory.Error ||
346
- diag.category === DiagnosticCategory.Warning ||
347
- diag.category === DiagnosticCategory.Information
348
- );
349
-
350
- if (prefilteredErrorList.length === 0 && this._typeIgnoreAll !== undefined) {
351
- unnecessaryTypeIgnoreDiags.push(
352
- new Diagnostic(
353
- diagCategory,
354
- Localizer.Diagnostic.unnecessaryTypeIgnore(),
355
- convertOffsetsToRange(
356
- this._typeIgnoreAll.range.start,
357
- this._typeIgnoreAll.range.start + this._typeIgnoreAll.range.length,
358
- this._parseResults!.tokenizerOutput.lines!
359
- )
360
- )
361
- );
362
- }
363
-
364
- typeIgnoreLinesClone.forEach((ignoreComment) => {
365
- if (this._parseResults?.tokenizerOutput.lines) {
366
- unnecessaryTypeIgnoreDiags.push(
367
- new Diagnostic(
368
- diagCategory,
369
- Localizer.Diagnostic.unnecessaryTypeIgnore(),
370
- convertOffsetsToRange(
371
- ignoreComment.range.start,
372
- ignoreComment.range.start + ignoreComment.range.length,
373
- this._parseResults!.tokenizerOutput.lines!
374
- )
375
- )
376
- );
377
- }
378
- });
379
-
380
- pyrightIgnoreLinesClone.forEach((ignoreComment) => {
381
- if (this._parseResults?.tokenizerOutput.lines) {
382
- if (!ignoreComment.rulesList) {
383
- unnecessaryTypeIgnoreDiags.push(
384
- new Diagnostic(
385
- diagCategory,
386
- Localizer.Diagnostic.unnecessaryPyrightIgnore(),
387
- convertOffsetsToRange(
388
- ignoreComment.range.start,
389
- ignoreComment.range.start + ignoreComment.range.length,
390
- this._parseResults!.tokenizerOutput.lines!
391
- )
392
- )
393
- );
394
- } else {
395
- ignoreComment.rulesList.forEach((unusedRule) => {
396
- unnecessaryTypeIgnoreDiags.push(
397
- new Diagnostic(
398
- diagCategory,
399
- Localizer.Diagnostic.unnecessaryPyrightIgnoreRule().format({
400
- name: unusedRule.text,
401
- }),
402
- convertOffsetsToRange(
403
- unusedRule.range.start,
404
- unusedRule.range.start + unusedRule.range.length,
405
- this._parseResults!.tokenizerOutput.lines!
406
- )
407
- )
408
- );
409
- });
410
- }
411
- }
412
- });
413
- }
414
-
415
- if (this._diagnosticRuleSet.reportImportCycles !== 'none' && this._circularDependencies.length > 0) {
416
- const category = convertLevelToCategory(this._diagnosticRuleSet.reportImportCycles);
417
-
418
- this._circularDependencies.forEach((cirDep) => {
419
- diagList.push(
420
- new Diagnostic(
421
- category,
422
- Localizer.Diagnostic.importCycleDetected() +
423
- '\n' +
424
- cirDep
425
- .getPaths()
426
- .map((path) => ' ' + path)
427
- .join('\n'),
428
- getEmptyRange()
429
- )
430
- );
431
- });
432
- }
433
-
434
- if (this._hitMaxImportDepth !== undefined) {
435
- diagList.push(
436
- new Diagnostic(
437
- DiagnosticCategory.Error,
438
- Localizer.Diagnostic.importDepthExceeded().format({ depth: this._hitMaxImportDepth }),
439
- getEmptyRange()
440
- )
441
- );
442
- }
443
-
444
- // If the file is in the ignore list, clear the diagnostic list.
445
- if (options.ignore.find((ignoreFileSpec) => ignoreFileSpec.regExp.test(this._filePath))) {
446
- diagList = [];
447
- }
448
-
449
- // If there is a "type: ignore" comment at the top of the file, clear
450
- // the diagnostic list of all error, warning, and information diagnostics.
451
- if (this._diagnosticRuleSet.enableTypeIgnoreComments) {
452
- if (this._typeIgnoreAll !== undefined) {
453
- diagList = diagList.filter(
454
- (diag) =>
455
- diag.category !== DiagnosticCategory.Error &&
456
- diag.category !== DiagnosticCategory.Warning &&
457
- diag.category !== DiagnosticCategory.Information
458
- );
459
- }
460
- }
461
-
462
- // Now add in the "unnecessary type ignore" diagnostics.
463
- diagList = diagList.concat(unnecessaryTypeIgnoreDiags);
464
-
465
- // If we're not returning any diagnostics, filter out all of
466
- // the errors and warnings, leaving only the unreachable code
467
- // and deprecated diagnostics.
468
- if (!includeWarningsAndErrors) {
469
- diagList = diagList.filter(
470
- (diag) =>
471
- diag.category === DiagnosticCategory.UnusedCode || diag.category === DiagnosticCategory.Deprecated
472
- );
473
- }
474
-
475
- return diagList;
476
- }
477
-
478
- getImports(): ImportResult[] {
479
- return this._imports || [];
480
- }
481
-
482
- getBuiltinsImport(): ImportResult | undefined {
483
- return this._builtinsImport;
484
- }
485
-
486
- getIPythonDisplayImport(): ImportResult | undefined {
487
- return this._ipythonDisplayImport;
488
- }
489
-
490
- getModuleSymbolTable(): SymbolTable | undefined {
491
- return this._moduleSymbolTable;
492
- }
493
-
494
- getCheckTime() {
495
- return this._checkTime;
496
- }
497
-
498
- // Indicates whether the contents of the file have changed since
499
- // the last analysis was performed.
500
- didContentsChangeOnDisk(): boolean {
501
- // If this is an open file any content changes will be
502
- // provided through the editor. We can assume contents
503
- // didn't change without us knowing about them.
504
- if (this._clientDocument) {
505
- return false;
506
- }
507
-
508
- // If the file was never read previously, no need to check for a change.
509
- if (this._lastFileContentLength === undefined) {
510
- return false;
511
- }
512
-
513
- // Read in the latest file contents and see if the hash matches
514
- // that of the previous contents.
515
- try {
516
- // Read the file's contents.
517
- const fileContents = this.fileSystem.readFileSync(this._filePath, 'utf8');
518
-
519
- if (fileContents.length !== this._lastFileContentLength) {
520
- return true;
521
- }
522
-
523
- if (StringUtils.hashString(fileContents) !== this._lastFileContentHash) {
524
- return true;
525
- }
526
- } catch (error) {
527
- return true;
528
- }
529
-
530
- return false;
531
- }
532
-
533
- // Drop parse and binding info to save memory. It is used
534
- // in cases where memory is low. When info is needed, the file
535
- // will be re-parsed and rebound.
536
- dropParseAndBindInfo(): void {
537
- this._parseResults = undefined;
538
- this._moduleSymbolTable = undefined;
539
- this._isBindingNeeded = true;
540
- }
541
-
542
- markDirty(indexingNeeded = true): void {
543
- this._fileContentsVersion++;
544
- this._noCircularDependencyConfirmed = false;
545
- this._isCheckingNeeded = true;
546
- this._isBindingNeeded = true;
547
- this._indexingNeeded = indexingNeeded;
548
- this._moduleSymbolTable = undefined;
549
- this._cachedIndexResults = undefined;
550
- }
551
-
552
- markReanalysisRequired(forceRebinding: boolean): void {
553
- // Keep the parse info, but reset the analysis to the beginning.
554
- this._isCheckingNeeded = true;
555
-
556
- // If the file contains a wildcard import or __all__ symbols,
557
- // we need to rebind because a dependent import may have changed.
558
- if (this._parseResults) {
559
- if (
560
- this._parseResults.containsWildcardImport ||
561
- AnalyzerNodeInfo.getDunderAllInfo(this._parseResults.parseTree) !== undefined ||
562
- forceRebinding
563
- ) {
564
- // We don't need to rebuild index data since wildcard
565
- // won't affect user file indices. User file indices
566
- // don't contain import alias info.
567
- this._parseTreeNeedsCleaning = true;
568
- this._isBindingNeeded = true;
569
- this._moduleSymbolTable = undefined;
570
- }
571
- }
572
- }
573
-
574
- getClientVersion() {
575
- return this._clientDocument?.version;
576
- }
577
-
578
- getOpenFileContents() {
579
- return this._clientDocument?.getText();
580
- }
581
-
582
- getFileContent(): string | undefined {
583
- // Get current buffer content if the file is opened.
584
- const openFileContent = this.getOpenFileContents();
585
- if (openFileContent) {
586
- return openFileContent;
587
- }
588
-
589
- // Otherwise, get content from file system.
590
- try {
591
- // Check the file's length before attempting to read its full contents.
592
- const fileStat = this.fileSystem.statSync(this._filePath);
593
- if (fileStat.size > _maxSourceFileSize) {
594
- this._console.error(
595
- `File length of "${this._filePath}" is ${fileStat.size} ` +
596
- `which exceeds the maximum supported file size of ${_maxSourceFileSize}`
597
- );
598
- throw new Error('File larger than max');
599
- }
600
-
601
- return this.fileSystem.readFileSync(this._filePath, 'utf8');
602
- } catch (error) {
603
- return undefined;
604
- }
605
- }
606
-
607
- setClientVersion(version: number | null, contents: TextDocumentContentChangeEvent[]): void {
608
- if (version === null) {
609
- this._clientDocument = undefined;
610
- } else {
611
- if (!this._clientDocument) {
612
- this._clientDocument = TextDocument.create(this._filePath, 'python', version, '');
613
- }
614
- this._clientDocument = TextDocument.update(this._clientDocument, contents, version);
615
-
616
- const fileContents = this._clientDocument.getText();
617
- const contentsHash = StringUtils.hashString(fileContents);
618
-
619
- // Have the contents of the file changed?
620
- if (fileContents.length !== this._lastFileContentLength || contentsHash !== this._lastFileContentHash) {
621
- this.markDirty();
622
- }
623
-
624
- this._lastFileContentLength = fileContents.length;
625
- this._lastFileContentHash = contentsHash;
626
- this._isFileDeleted = false;
627
- }
628
- }
629
-
630
- prepareForClose() {
631
- // Nothing to do currently.
632
- }
633
-
634
- isFileDeleted() {
635
- return this._isFileDeleted;
636
- }
637
-
638
- isParseRequired() {
639
- return !this._parseResults || this._analyzedFileContentsVersion !== this._fileContentsVersion;
640
- }
641
-
642
- isBindingRequired() {
643
- if (this._isBindingInProgress) {
644
- return false;
645
- }
646
-
647
- if (this.isParseRequired()) {
648
- return true;
649
- }
650
-
651
- return this._isBindingNeeded;
652
- }
653
-
654
- isIndexingRequired() {
655
- return this._indexingNeeded;
656
- }
657
-
658
- isCheckingRequired() {
659
- return this._isCheckingNeeded;
660
- }
661
-
662
- getParseResults(): ParseResults | undefined {
663
- if (!this.isParseRequired()) {
664
- return this._parseResults;
665
- }
666
-
667
- return undefined;
668
- }
669
-
670
- getCachedIndexResults(): IndexResults | undefined {
671
- return this._cachedIndexResults;
672
- }
673
-
674
- cacheIndexResults(indexResults: IndexResults) {
675
- this._cachedIndexResults = indexResults;
676
- }
677
-
678
- // Adds a new circular dependency for this file but only if
679
- // it hasn't already been added.
680
- addCircularDependency(circDependency: CircularDependency) {
681
- let updatedDependencyList = false;
682
-
683
- // Some topologies can result in a massive number of cycles. We'll cut it off.
684
- if (this._circularDependencies.length < _maxImportCyclesPerFile) {
685
- if (!this._circularDependencies.some((dep) => dep.isEqual(circDependency))) {
686
- this._circularDependencies.push(circDependency);
687
- updatedDependencyList = true;
688
- }
689
- }
690
-
691
- if (updatedDependencyList) {
692
- this._diagnosticVersion++;
693
- }
694
- }
695
-
696
- setNoCircularDependencyConfirmed() {
697
- this._noCircularDependencyConfirmed = true;
698
- }
699
-
700
- isNoCircularDependencyConfirmed() {
701
- return !this.isParseRequired() && this._noCircularDependencyConfirmed;
702
- }
703
-
704
- setHitMaxImportDepth(maxImportDepth: number) {
705
- this._hitMaxImportDepth = maxImportDepth;
706
- }
707
-
708
- // Parse the file and update the state. Callers should wait for completion
709
- // (or at least cancel) prior to calling again. It returns true if a parse
710
- // was required and false if the parse information was up to date already.
711
- parse(configOptions: ConfigOptions, importResolver: ImportResolver, content?: string): boolean {
712
- return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`, (logState) => {
713
- // If the file is already parsed, we can skip.
714
- if (!this.isParseRequired()) {
715
- logState.suppress();
716
- return false;
717
- }
718
-
719
- const diagSink = new DiagnosticSink();
720
- let fileContents = this.getOpenFileContents();
721
- if (fileContents === undefined) {
722
- try {
723
- const startTime = timingStats.readFileTime.totalTime;
724
- timingStats.readFileTime.timeOperation(() => {
725
- // Read the file's contents.
726
- fileContents = content ?? this.getFileContent();
727
- if (fileContents === undefined) {
728
- throw new Error("Can't get file content");
729
- }
730
-
731
- // Remember the length and hash for comparison purposes.
732
- this._lastFileContentLength = fileContents.length;
733
- this._lastFileContentHash = StringUtils.hashString(fileContents);
734
- });
735
- logState.add(`fs read ${timingStats.readFileTime.totalTime - startTime}ms`);
736
- } catch (error) {
737
- diagSink.addError(`Source file could not be read`, getEmptyRange());
738
- fileContents = '';
739
-
740
- if (!this.fileSystem.existsSync(this._filePath)) {
741
- this._isFileDeleted = true;
742
- }
743
- }
744
- }
745
-
746
- // Use the configuration options to determine the environment in which
747
- // this source file will be executed.
748
- const execEnvironment = configOptions.findExecEnvironment(this._filePath);
749
-
750
- const parseOptions = new ParseOptions();
751
- parseOptions.ipythonMode = this._ipythonMode;
752
- if (this._filePath.endsWith('pyi')) {
753
- parseOptions.isStubFile = true;
754
- }
755
- parseOptions.pythonVersion = execEnvironment.pythonVersion;
756
- parseOptions.skipFunctionAndClassBody = configOptions.indexGenerationMode ?? false;
757
-
758
- try {
759
- // Parse the token stream, building the abstract syntax tree.
760
- const parser = new Parser();
761
- const parseResults = parser.parseSourceFile(fileContents!, parseOptions, diagSink);
762
- assert(parseResults !== undefined && parseResults.tokenizerOutput !== undefined);
763
- this._parseResults = parseResults;
764
- this._typeIgnoreLines = this._parseResults.tokenizerOutput.typeIgnoreLines;
765
- this._typeIgnoreAll = this._parseResults.tokenizerOutput.typeIgnoreAll;
766
- this._pyrightIgnoreLines = this._parseResults.tokenizerOutput.pyrightIgnoreLines;
767
-
768
- // Resolve imports.
769
- timingStats.resolveImportsTime.timeOperation(() => {
770
- const importResult = this._resolveImports(
771
- importResolver,
772
- parseResults.importedModules,
773
- execEnvironment
774
- );
775
-
776
- this._imports = importResult.imports;
777
- this._builtinsImport = importResult.builtinsImportResult;
778
- this._ipythonDisplayImport = importResult.ipythonDisplayImportResult;
779
-
780
- this._parseDiagnostics = diagSink.fetchAndClear();
781
- });
782
-
783
- // Is this file in a "strict" path?
784
- const useStrict =
785
- configOptions.strict.find((strictFileSpec) => strictFileSpec.regExp.test(this._filePath)) !==
786
- undefined;
787
-
788
- this._diagnosticRuleSet = CommentUtils.getFileLevelDirectives(
789
- this._parseResults.tokenizerOutput.tokens,
790
- configOptions.diagnosticRuleSet,
791
- useStrict
792
- );
793
- } catch (e: any) {
794
- const message: string =
795
- (e.stack ? e.stack.toString() : undefined) ||
796
- (typeof e.message === 'string' ? e.message : undefined) ||
797
- JSON.stringify(e);
798
- this._console.error(
799
- Localizer.Diagnostic.internalParseError().format({ file: this.getFilePath(), message })
800
- );
801
-
802
- // Create dummy parse results.
803
- this._parseResults = {
804
- text: '',
805
- parseTree: ModuleNode.create({ start: 0, length: 0 }),
806
- importedModules: [],
807
- futureImports: new Map<string, boolean>(),
808
- tokenizerOutput: {
809
- tokens: new TextRangeCollection<Token>([]),
810
- lines: new TextRangeCollection<TextRange>([]),
811
- typeIgnoreAll: undefined,
812
- typeIgnoreLines: new Map<number, IgnoreComment>(),
813
- pyrightIgnoreLines: new Map<number, IgnoreComment>(),
814
- predominantEndOfLineSequence: '\n',
815
- predominantTabSequence: ' ',
816
- predominantSingleQuoteCharacter: "'",
817
- },
818
- containsWildcardImport: false,
819
- typingSymbolAliases: new Map<string, string>(),
820
- };
821
- this._imports = undefined;
822
- this._builtinsImport = undefined;
823
- this._ipythonDisplayImport = undefined;
824
-
825
- const diagSink = new DiagnosticSink();
826
- diagSink.addError(
827
- Localizer.Diagnostic.internalParseError().format({ file: this.getFilePath(), message }),
828
- getEmptyRange()
829
- );
830
- this._parseDiagnostics = diagSink.fetchAndClear();
831
-
832
- // Do not rethrow the exception, swallow it here. Callers are not
833
- // prepared to handle an exception.
834
- }
835
-
836
- this._analyzedFileContentsVersion = this._fileContentsVersion;
837
- this._indexingNeeded = true;
838
- this._isBindingNeeded = true;
839
- this._isCheckingNeeded = true;
840
- this._parseTreeNeedsCleaning = false;
841
- this._hitMaxImportDepth = undefined;
842
- this._diagnosticVersion++;
843
-
844
- return true;
845
- });
846
- }
847
-
848
- index(options: IndexOptions, token: CancellationToken): IndexResults | undefined {
849
- return this._logTracker.log(`indexing: ${this._getPathForLogging(this._filePath)}`, (ls) => {
850
- // If we have no completed analysis job, there's nothing to do.
851
- if (!this._parseResults || !this.isIndexingRequired()) {
852
- ls.suppress();
853
- return undefined;
854
- }
855
-
856
- this._indexingNeeded = false;
857
- const symbols = DocumentSymbolProvider.indexSymbols(
858
- AnalyzerNodeInfo.getFileInfo(this._parseResults.parseTree)!,
859
- this._parseResults,
860
- options,
861
- token
862
- );
863
-
864
- ls.add(`found ${symbols.length}`);
865
-
866
- const name = stripFileExtension(getFileName(this._filePath));
867
- const privateOrProtected = SymbolNameUtils.isPrivateOrProtectedName(name);
868
- return { privateOrProtected, symbols };
869
- });
870
- }
871
-
872
- getDefinitionsForPosition(
873
- sourceMapper: SourceMapper,
874
- position: Position,
875
- filter: DefinitionFilter,
876
- evaluator: TypeEvaluator,
877
- token: CancellationToken
878
- ): DocumentRange[] | undefined {
879
- // If we have no completed analysis job, there's nothing to do.
880
- if (!this._parseResults) {
881
- return undefined;
882
- }
883
-
884
- return DefinitionProvider.getDefinitionsForPosition(
885
- sourceMapper,
886
- this._parseResults,
887
- position,
888
- filter,
889
- evaluator,
890
- token
891
- );
892
- }
893
-
894
- getTypeDefinitionsForPosition(
895
- sourceMapper: SourceMapper,
896
- position: Position,
897
- evaluator: TypeEvaluator,
898
- filePath: string,
899
- token: CancellationToken
900
- ): DocumentRange[] | undefined {
901
- // If we have no completed analysis job, there's nothing to do.
902
- if (!this._parseResults) {
903
- return undefined;
904
- }
905
-
906
- return DefinitionProvider.getTypeDefinitionsForPosition(
907
- sourceMapper,
908
- this._parseResults,
909
- position,
910
- evaluator,
911
- filePath,
912
- token
913
- );
914
- }
915
-
916
- getDeclarationForNode(
917
- sourceMapper: SourceMapper,
918
- node: NameNode,
919
- evaluator: TypeEvaluator,
920
- reporter: ReferenceCallback | undefined,
921
- token: CancellationToken
922
- ): ReferencesResult | undefined {
923
- // If we have no completed analysis job, there's nothing to do.
924
- if (!this._parseResults) {
925
- return undefined;
926
- }
927
-
928
- return ReferencesProvider.getDeclarationForNode(sourceMapper, this._filePath, node, evaluator, reporter, token);
929
- }
930
-
931
- getDeclarationForPosition(
932
- sourceMapper: SourceMapper,
933
- position: Position,
934
- evaluator: TypeEvaluator,
935
- reporter: ReferenceCallback | undefined,
936
- token: CancellationToken
937
- ): ReferencesResult | undefined {
938
- // If we have no completed analysis job, there's nothing to do.
939
- if (!this._parseResults) {
940
- return undefined;
941
- }
942
-
943
- return ReferencesProvider.getDeclarationForPosition(
944
- sourceMapper,
945
- this._parseResults,
946
- this._filePath,
947
- position,
948
- evaluator,
949
- reporter,
950
- token
951
- );
952
- }
953
-
954
- addReferences(
955
- referencesResult: ReferencesResult,
956
- includeDeclaration: boolean,
957
- evaluator: TypeEvaluator,
958
- token: CancellationToken
959
- ): void {
960
- // If we have no completed analysis job, there's nothing to do.
961
- if (!this._parseResults) {
962
- return;
963
- }
964
-
965
- ReferencesProvider.addReferences(
966
- this._parseResults,
967
- this._filePath,
968
- referencesResult,
969
- includeDeclaration,
970
- evaluator,
971
- token
972
- );
973
- }
974
-
975
- addHierarchicalSymbolsForDocument(symbolList: DocumentSymbol[], token: CancellationToken) {
976
- // If we have no completed analysis job, there's nothing to do.
977
- if (!this._parseResults && !this._cachedIndexResults) {
978
- return;
979
- }
980
-
981
- DocumentSymbolProvider.addHierarchicalSymbolsForDocument(
982
- this._parseResults ? AnalyzerNodeInfo.getFileInfo(this._parseResults.parseTree) : undefined,
983
- this.getCachedIndexResults(),
984
- this._parseResults,
985
- symbolList,
986
- token
987
- );
988
- }
989
-
990
- getSymbolsForDocument(query: string, token: CancellationToken) {
991
- // If we have no completed analysis job, there's nothing to do.
992
- if (!this._parseResults && !this._cachedIndexResults) {
993
- return [];
994
- }
995
-
996
- return DocumentSymbolProvider.getSymbolsForDocument(
997
- this._parseResults ? AnalyzerNodeInfo.getFileInfo(this._parseResults.parseTree) : undefined,
998
- this.getCachedIndexResults(),
999
- this._parseResults,
1000
- this._filePath,
1001
- query,
1002
- token
1003
- );
1004
- }
1005
-
1006
- getHoverForPosition(
1007
- sourceMapper: SourceMapper,
1008
- position: Position,
1009
- format: MarkupKind,
1010
- evaluator: TypeEvaluator,
1011
- token: CancellationToken
1012
- ): HoverResults | undefined {
1013
- // If this file hasn't been bound, no hover info is available.
1014
- if (this._isBindingNeeded || !this._parseResults) {
1015
- return undefined;
1016
- }
1017
-
1018
- return HoverProvider.getHoverForPosition(sourceMapper, this._parseResults, position, format, evaluator, token);
1019
- }
1020
-
1021
- getDocumentHighlight(
1022
- sourceMapper: SourceMapper,
1023
- position: Position,
1024
- evaluator: TypeEvaluator,
1025
- token: CancellationToken
1026
- ): DocumentHighlight[] | undefined {
1027
- // If this file hasn't been bound, no hover info is available.
1028
- if (this._isBindingNeeded || !this._parseResults) {
1029
- return undefined;
1030
- }
1031
-
1032
- return DocumentHighlightProvider.getDocumentHighlight(this._parseResults, position, evaluator, token);
1033
- }
1034
-
1035
- getSignatureHelpForPosition(
1036
- position: Position,
1037
- sourceMapper: SourceMapper,
1038
- evaluator: TypeEvaluator,
1039
- format: MarkupKind,
1040
- token: CancellationToken
1041
- ): SignatureHelpResults | undefined {
1042
- // If we have no completed analysis job, there's nothing to do.
1043
- if (!this._parseResults) {
1044
- return undefined;
1045
- }
1046
-
1047
- return SignatureHelpProvider.getSignatureHelpForPosition(
1048
- this._parseResults,
1049
- position,
1050
- sourceMapper,
1051
- evaluator,
1052
- format,
1053
- token
1054
- );
1055
- }
1056
-
1057
- getCompletionsForPosition(
1058
- position: Position,
1059
- workspacePath: string,
1060
- configOptions: ConfigOptions,
1061
- importResolver: ImportResolver,
1062
- importLookup: ImportLookup,
1063
- evaluator: TypeEvaluator,
1064
- options: CompletionOptions,
1065
- sourceMapper: SourceMapper,
1066
- nameMap: AbbreviationMap | undefined,
1067
- libraryMap: Map<string, IndexResults> | undefined,
1068
- moduleSymbolsCallback: () => ModuleSymbolMap,
1069
- token: CancellationToken
1070
- ): CompletionResults | undefined {
1071
- // If we have no completed analysis job, there's nothing to do.
1072
- if (!this._parseResults) {
1073
- return undefined;
1074
- }
1075
-
1076
- // This command should be called only for open files, in which
1077
- // case we should have the file contents already loaded.
1078
- const fileContents = this.getOpenFileContents();
1079
- if (fileContents === undefined) {
1080
- return undefined;
1081
- }
1082
-
1083
- const completionProvider = new CompletionProvider(
1084
- workspacePath,
1085
- this._parseResults,
1086
- fileContents,
1087
- importResolver,
1088
- position,
1089
- this._filePath,
1090
- configOptions,
1091
- importLookup,
1092
- evaluator,
1093
- options,
1094
- sourceMapper,
1095
- {
1096
- nameMap,
1097
- libraryMap,
1098
- getModuleSymbolsMap: moduleSymbolsCallback,
1099
- },
1100
- token
1101
- );
1102
-
1103
- return completionProvider.getCompletionsForPosition();
1104
- }
1105
-
1106
- resolveCompletionItem(
1107
- configOptions: ConfigOptions,
1108
- importResolver: ImportResolver,
1109
- importLookup: ImportLookup,
1110
- evaluator: TypeEvaluator,
1111
- options: CompletionOptions,
1112
- sourceMapper: SourceMapper,
1113
- nameMap: AbbreviationMap | undefined,
1114
- libraryMap: Map<string, IndexResults> | undefined,
1115
- moduleSymbolsCallback: () => ModuleSymbolMap,
1116
- completionItem: CompletionItem,
1117
- token: CancellationToken
1118
- ) {
1119
- const fileContents = this.getOpenFileContents();
1120
- if (!this._parseResults || fileContents === undefined) {
1121
- return;
1122
- }
1123
-
1124
- const completionData = fromLSPAny<CompletionItemData>(completionItem.data);
1125
- const completionProvider = new CompletionProvider(
1126
- completionData.workspacePath,
1127
- this._parseResults,
1128
- fileContents,
1129
- importResolver,
1130
- completionData.position,
1131
- this._filePath,
1132
- configOptions,
1133
- importLookup,
1134
- evaluator,
1135
- options,
1136
- sourceMapper,
1137
- {
1138
- nameMap,
1139
- libraryMap,
1140
- getModuleSymbolsMap: moduleSymbolsCallback,
1141
- },
1142
- token
1143
- );
1144
-
1145
- completionProvider.resolveCompletionItem(completionItem);
1146
- }
1147
-
1148
- performQuickAction(command: string, args: any[], token: CancellationToken): TextEditAction[] | undefined {
1149
- // If we have no completed analysis job, there's nothing to do.
1150
- if (!this._parseResults) {
1151
- return undefined;
1152
- }
1153
-
1154
- // This command should be called only for open files, in which
1155
- // case we should have the file contents already loaded.
1156
- if (this.getClientVersion() === undefined) {
1157
- return undefined;
1158
- }
1159
-
1160
- return performQuickAction(command, args, this._parseResults, token);
1161
- }
1162
-
1163
- bind(configOptions: ConfigOptions, importLookup: ImportLookup, builtinsScope: Scope | undefined) {
1164
- assert(!this.isParseRequired(), 'Bind called before parsing');
1165
- assert(this.isBindingRequired(), 'Bind called unnecessarily');
1166
- assert(!this._isBindingInProgress, 'Bind called while binding in progress');
1167
- assert(this._parseResults !== undefined, 'Parse results not available');
1168
-
1169
- return this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`, () => {
1170
- try {
1171
- // Perform name binding.
1172
- timingStats.bindTime.timeOperation(() => {
1173
- this._cleanParseTreeIfRequired();
1174
-
1175
- const fileInfo = this._buildFileInfo(
1176
- configOptions,
1177
- this._parseResults!.text,
1178
- importLookup,
1179
- builtinsScope
1180
- );
1181
- AnalyzerNodeInfo.setFileInfo(this._parseResults!.parseTree, fileInfo);
1182
-
1183
- const binder = new Binder(fileInfo, configOptions.indexGenerationMode);
1184
- this._isBindingInProgress = true;
1185
- binder.bindModule(this._parseResults!.parseTree);
1186
-
1187
- // If we're in "test mode" (used for unit testing), run an additional
1188
- // "test walker" over the parse tree to validate its internal consistency.
1189
- if (configOptions.internalTestMode) {
1190
- const testWalker = new TestWalker();
1191
- testWalker.walk(this._parseResults!.parseTree);
1192
- }
1193
-
1194
- this._bindDiagnostics = fileInfo.diagnosticSink.fetchAndClear();
1195
- const moduleScope = AnalyzerNodeInfo.getScope(this._parseResults!.parseTree);
1196
- assert(moduleScope !== undefined, 'Module scope not returned by binder');
1197
- this._moduleSymbolTable = moduleScope!.symbolTable;
1198
- });
1199
- } catch (e: any) {
1200
- const message: string =
1201
- (e.stack ? e.stack.toString() : undefined) ||
1202
- (typeof e.message === 'string' ? e.message : undefined) ||
1203
- JSON.stringify(e);
1204
- this._console.error(
1205
- Localizer.Diagnostic.internalBindError().format({ file: this.getFilePath(), message })
1206
- );
1207
-
1208
- const diagSink = new DiagnosticSink();
1209
- diagSink.addError(
1210
- Localizer.Diagnostic.internalBindError().format({ file: this.getFilePath(), message }),
1211
- getEmptyRange()
1212
- );
1213
- this._bindDiagnostics = diagSink.fetchAndClear();
1214
-
1215
- // Do not rethrow the exception, swallow it here. Callers are not
1216
- // prepared to handle an exception.
1217
- } finally {
1218
- this._isBindingInProgress = false;
1219
- }
1220
-
1221
- // Prepare for the next stage of the analysis.
1222
- this._diagnosticVersion++;
1223
- this._isCheckingNeeded = true;
1224
- this._indexingNeeded = true;
1225
- this._isBindingNeeded = false;
1226
- });
1227
- }
1228
-
1229
- check(importResolver: ImportResolver, evaluator: TypeEvaluator) {
1230
- assert(!this.isParseRequired(), 'Check called before parsing');
1231
- assert(!this.isBindingRequired(), 'Check called before binding');
1232
- assert(!this._isBindingInProgress, 'Check called while binding in progress');
1233
- assert(this.isCheckingRequired(), 'Check called unnecessarily');
1234
- assert(this._parseResults !== undefined, 'Parse results not available');
1235
-
1236
- return this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`, () => {
1237
- try {
1238
- timingStats.typeCheckerTime.timeOperation(() => {
1239
- const checkDuration = new Duration();
1240
- const checker = new Checker(importResolver, evaluator, this._parseResults!.parseTree);
1241
- checker.check();
1242
- this._isCheckingNeeded = false;
1243
-
1244
- const fileInfo = AnalyzerNodeInfo.getFileInfo(this._parseResults!.parseTree)!;
1245
- this._checkerDiagnostics = fileInfo.diagnosticSink.fetchAndClear();
1246
- this._checkTime = checkDuration.getDurationInMilliseconds();
1247
- });
1248
- } catch (e: any) {
1249
- const isCancellation = OperationCanceledException.is(e);
1250
- if (!isCancellation) {
1251
- const message: string =
1252
- (e.stack ? e.stack.toString() : undefined) ||
1253
- (typeof e.message === 'string' ? e.message : undefined) ||
1254
- JSON.stringify(e);
1255
- this._console.error(
1256
- Localizer.Diagnostic.internalTypeCheckingError().format({ file: this.getFilePath(), message })
1257
- );
1258
- const diagSink = new DiagnosticSink();
1259
- diagSink.addError(
1260
- Localizer.Diagnostic.internalTypeCheckingError().format({ file: this.getFilePath(), message }),
1261
- getEmptyRange()
1262
- );
1263
-
1264
- this._checkerDiagnostics = diagSink.fetchAndClear();
1265
-
1266
- // Mark the file as complete so we don't get into an infinite loop.
1267
- this._isCheckingNeeded = false;
1268
- }
1269
-
1270
- throw e;
1271
- } finally {
1272
- // Clear any circular dependencies associated with this file.
1273
- // These will be detected by the program module and associated
1274
- // with the source file right before it is finalized.
1275
- this._circularDependencies = [];
1276
- this._diagnosticVersion++;
1277
- }
1278
- });
1279
- }
1280
-
1281
- test_enableIPythonMode(enable: boolean) {
1282
- this._ipythonMode = enable;
1283
- }
1284
-
1285
- private _buildFileInfo(
1286
- configOptions: ConfigOptions,
1287
- fileContents: string,
1288
- importLookup: ImportLookup,
1289
- builtinsScope?: Scope
1290
- ) {
1291
- assert(this._parseResults !== undefined, 'Parse results not available');
1292
- const analysisDiagnostics = new TextRangeDiagnosticSink(this._parseResults!.tokenizerOutput.lines);
1293
-
1294
- const fileInfo: AnalyzerFileInfo = {
1295
- importLookup,
1296
- futureImports: this._parseResults!.futureImports,
1297
- builtinsScope,
1298
- diagnosticSink: analysisDiagnostics,
1299
- executionEnvironment: configOptions.findExecEnvironment(this._filePath),
1300
- diagnosticRuleSet: this._diagnosticRuleSet,
1301
- fileContents,
1302
- lines: this._parseResults!.tokenizerOutput.lines,
1303
- typingSymbolAliases: this._parseResults!.typingSymbolAliases,
1304
- definedConstants: configOptions.defineConstant,
1305
- filePath: this._filePath,
1306
- moduleName: this._moduleName,
1307
- isStubFile: this._isStubFile,
1308
- isTypingStubFile: this._isTypingStubFile,
1309
- isTypingExtensionsStubFile: this._isTypingExtensionsStubFile,
1310
- isBuiltInStubFile: this._isBuiltInStubFile,
1311
- isInPyTypedPackage: this._isThirdPartyPyTypedPresent,
1312
- isIPythonMode: this._ipythonMode,
1313
- accessedSymbolMap: new Map<number, true>(),
1314
- };
1315
- return fileInfo;
1316
- }
1317
-
1318
- private _cleanParseTreeIfRequired() {
1319
- if (this._parseResults) {
1320
- if (this._parseTreeNeedsCleaning) {
1321
- const cleanerWalker = new ParseTreeCleanerWalker(this._parseResults.parseTree);
1322
- cleanerWalker.clean();
1323
- this._parseTreeNeedsCleaning = false;
1324
- }
1325
- }
1326
- }
1327
-
1328
- private _resolveImports(
1329
- importResolver: ImportResolver,
1330
- moduleImports: ModuleImport[],
1331
- execEnv: ExecutionEnvironment
1332
- ): ResolveImportResult {
1333
- const imports: ImportResult[] = [];
1334
-
1335
- const resolveAndAddIfNotSelf = (nameParts: string[], skipMissingImport = false) => {
1336
- const importResult = importResolver.resolveImport(this._filePath, execEnv, {
1337
- leadingDots: 0,
1338
- nameParts,
1339
- importedSymbols: undefined,
1340
- });
1341
-
1342
- if (skipMissingImport && !importResult.isImportFound) {
1343
- return undefined;
1344
- }
1345
-
1346
- // Avoid importing module from the module file itself.
1347
- if (importResult.resolvedPaths.length === 0 || importResult.resolvedPaths[0] !== this._filePath) {
1348
- imports.push(importResult);
1349
- return importResult;
1350
- }
1351
-
1352
- return undefined;
1353
- };
1354
-
1355
- // Always include an implicit import of the builtins module.
1356
- let builtinsImportResult: ImportResult | undefined;
1357
-
1358
- // If this is a project source file (not a stub), try to resolve
1359
- // the __builtins__ stub first.
1360
- if (!this._isThirdPartyImport && !this._isStubFile) {
1361
- builtinsImportResult = resolveAndAddIfNotSelf(['__builtins__'], /* skipMissingImport */ true);
1362
- }
1363
-
1364
- if (!builtinsImportResult) {
1365
- builtinsImportResult = resolveAndAddIfNotSelf(['builtins']);
1366
- }
1367
-
1368
- const ipythonDisplayImportResult = this._ipythonMode
1369
- ? resolveAndAddIfNotSelf(['IPython', 'display'])
1370
- : undefined;
1371
-
1372
- for (const moduleImport of moduleImports) {
1373
- const importResult = importResolver.resolveImport(this._filePath, execEnv, {
1374
- leadingDots: moduleImport.leadingDots,
1375
- nameParts: moduleImport.nameParts,
1376
- importedSymbols: moduleImport.importedSymbols,
1377
- });
1378
-
1379
- imports.push(importResult);
1380
-
1381
- // Associate the import results with the module import
1382
- // name node in the parse tree so we can access it later
1383
- // (for hover and definition support).
1384
- AnalyzerNodeInfo.setImportInfo(moduleImport.nameNode, importResult);
1385
- }
1386
-
1387
- return {
1388
- imports,
1389
- builtinsImportResult,
1390
- ipythonDisplayImportResult,
1391
- };
1392
- }
1393
-
1394
- private _getPathForLogging(filepath: string) {
1395
- if (this.fileSystem.isMappedFilePath(filepath)) {
1396
- return this.fileSystem.getOriginalFilePath(filepath);
1397
- }
1398
-
1399
- return filepath;
1400
- }
1401
- }