@zzzen/pyright-internal 1.2.0-dev.20260614 → 1.2.0-dev.20260628

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 (353) hide show
  1. package/dist/analyzer/analysis.js +17 -7
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerNodeInfo.d.ts +11 -0
  4. package/dist/analyzer/binder.js +31 -8
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.js +23 -8
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowEngine.js +6 -0
  9. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  10. package/dist/analyzer/dataClasses.js +19 -8
  11. package/dist/analyzer/dataClasses.js.map +1 -1
  12. package/dist/analyzer/declaration.d.ts +1 -0
  13. package/dist/analyzer/declaration.js.map +1 -1
  14. package/dist/analyzer/docStringUtils.d.ts +1 -0
  15. package/dist/analyzer/docStringUtils.js +78 -0
  16. package/dist/analyzer/docStringUtils.js.map +1 -1
  17. package/dist/analyzer/importResolver.d.ts +1 -0
  18. package/dist/analyzer/importResolver.js +107 -12
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importStatementUtils.js +36 -8
  21. package/dist/analyzer/importStatementUtils.js.map +1 -1
  22. package/dist/analyzer/namedTuples.js +17 -7
  23. package/dist/analyzer/namedTuples.js.map +1 -1
  24. package/dist/analyzer/parseTreeCleaner.js +17 -7
  25. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  26. package/dist/analyzer/parseTreeUtils.js +27 -9
  27. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  28. package/dist/analyzer/parseTreeWalker.js +17 -7
  29. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  30. package/dist/analyzer/patternMatching.js +44 -0
  31. package/dist/analyzer/patternMatching.js.map +1 -1
  32. package/dist/analyzer/program.d.ts +1 -0
  33. package/dist/analyzer/program.js +44 -8
  34. package/dist/analyzer/program.js.map +1 -1
  35. package/dist/analyzer/pythonPathUtils.js +34 -8
  36. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  37. package/dist/analyzer/service.js +43 -11
  38. package/dist/analyzer/service.js.map +1 -1
  39. package/dist/analyzer/sourceEnumerator.js +6 -0
  40. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  41. package/dist/analyzer/sourceFile.d.ts +1 -0
  42. package/dist/analyzer/sourceFile.js +25 -7
  43. package/dist/analyzer/sourceFile.js.map +1 -1
  44. package/dist/analyzer/sourceMapper.d.ts +11 -1
  45. package/dist/analyzer/sourceMapper.js +220 -19
  46. package/dist/analyzer/sourceMapper.js.map +1 -1
  47. package/dist/analyzer/staticExpressions.js +91 -19
  48. package/dist/analyzer/staticExpressions.js.map +1 -1
  49. package/dist/analyzer/tracePrinter.js +17 -7
  50. package/dist/analyzer/tracePrinter.js.map +1 -1
  51. package/dist/analyzer/typeCacheUtils.js +17 -7
  52. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  53. package/dist/analyzer/typeDocStringUtils.d.ts +8 -0
  54. package/dist/analyzer/typeDocStringUtils.js +101 -27
  55. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  56. package/dist/analyzer/typeEvaluator.js +122 -89
  57. package/dist/analyzer/typeEvaluator.js.map +1 -1
  58. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  59. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  60. package/dist/analyzer/typeGuards.js +71 -13
  61. package/dist/analyzer/typeGuards.js.map +1 -1
  62. package/dist/analyzer/typePrinter.js +50 -8
  63. package/dist/analyzer/typePrinter.js.map +1 -1
  64. package/dist/analyzer/typeStubWriter.js +17 -7
  65. package/dist/analyzer/typeStubWriter.js.map +1 -1
  66. package/dist/analyzer/typeUtils.d.ts +1 -0
  67. package/dist/analyzer/typeUtils.js +9 -0
  68. package/dist/analyzer/typeUtils.js.map +1 -1
  69. package/dist/analyzer/typeWalker.js +1 -1
  70. package/dist/analyzer/typeWalker.js.map +1 -1
  71. package/dist/analyzer/typedDicts.js +19 -9
  72. package/dist/analyzer/typedDicts.js.map +1 -1
  73. package/dist/analyzer/typeshedInfoProvider.js +17 -7
  74. package/dist/analyzer/typeshedInfoProvider.js.map +1 -1
  75. package/dist/backgroundAnalysisBase.js +17 -7
  76. package/dist/backgroundAnalysisBase.js.map +1 -1
  77. package/dist/backgroundThreadBase.js +17 -7
  78. package/dist/backgroundThreadBase.js.map +1 -1
  79. package/dist/common/chokidarFileWatcherProvider.js +17 -7
  80. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  81. package/dist/common/configOptions.js +17 -7
  82. package/dist/common/configOptions.js.map +1 -1
  83. package/dist/common/console.js +17 -7
  84. package/dist/common/console.js.map +1 -1
  85. package/dist/common/docStringService.d.ts +2 -0
  86. package/dist/common/docStringService.js +5 -1
  87. package/dist/common/docStringService.js.map +1 -1
  88. package/dist/common/envVarUtils.js +17 -7
  89. package/dist/common/envVarUtils.js.map +1 -1
  90. package/dist/common/extensibility.d.ts +2 -0
  91. package/dist/common/extensibility.js.map +1 -1
  92. package/dist/common/fileBasedCancellationUtils.js +17 -7
  93. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  94. package/dist/common/fullAccessHost.d.ts +4 -2
  95. package/dist/common/fullAccessHost.js +69 -16
  96. package/dist/common/fullAccessHost.js.map +1 -1
  97. package/dist/common/host.d.ts +33 -2
  98. package/dist/common/host.js +4 -1
  99. package/dist/common/host.js.map +1 -1
  100. package/dist/common/languageInfoUtils.js +12 -12
  101. package/dist/common/memUtils.js +18 -7
  102. package/dist/common/memUtils.js.map +1 -1
  103. package/dist/common/pathUtils.js +17 -7
  104. package/dist/common/pathUtils.js.map +1 -1
  105. package/dist/common/positionUtils.js +19 -0
  106. package/dist/common/positionUtils.js.map +1 -1
  107. package/dist/common/processUtils.js +17 -7
  108. package/dist/common/processUtils.js.map +1 -1
  109. package/dist/common/realFileSystem.js +19 -19
  110. package/dist/common/realFileSystem.js.map +1 -1
  111. package/dist/common/serviceProvider.js +17 -7
  112. package/dist/common/serviceProvider.js.map +1 -1
  113. package/dist/common/streamUtils.d.ts +1 -1
  114. package/dist/common/textEditTracker.d.ts +1 -0
  115. package/dist/common/textEditTracker.js +31 -12
  116. package/dist/common/textEditTracker.js.map +1 -1
  117. package/dist/common/uri/fileUri.d.ts +1 -0
  118. package/dist/common/uri/fileUri.js +20 -0
  119. package/dist/common/uri/fileUri.js.map +1 -1
  120. package/dist/common/uri/memoization.js +5 -1
  121. package/dist/common/uri/memoization.js.map +1 -1
  122. package/dist/common/uri/uriMap.d.ts +4 -4
  123. package/dist/common/uri/uriMap.js +1 -0
  124. package/dist/common/uri/uriMap.js.map +1 -1
  125. package/dist/common/uri/uriUtils.d.ts +2 -0
  126. package/dist/common/uri/uriUtils.js +22 -0
  127. package/dist/common/uri/uriUtils.js.map +1 -1
  128. package/dist/common/workspaceEditUtils.d.ts +1 -0
  129. package/dist/common/workspaceEditUtils.js +10 -0
  130. package/dist/common/workspaceEditUtils.js.map +1 -1
  131. package/dist/languageServerBase.js +19 -4
  132. package/dist/languageServerBase.js.map +1 -1
  133. package/dist/languageService/autoImporter.js +17 -7
  134. package/dist/languageService/autoImporter.js.map +1 -1
  135. package/dist/languageService/callHierarchyProvider.js +17 -7
  136. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  137. package/dist/languageService/completionProvider.d.ts +11 -2
  138. package/dist/languageService/completionProvider.js +319 -65
  139. package/dist/languageService/completionProvider.js.map +1 -1
  140. package/dist/languageService/completionProviderUtils.d.ts +18 -0
  141. package/dist/languageService/completionProviderUtils.js +42 -0
  142. package/dist/languageService/completionProviderUtils.js.map +1 -1
  143. package/dist/languageService/definitionProvider.d.ts +1 -1
  144. package/dist/languageService/definitionProvider.js +69 -10
  145. package/dist/languageService/definitionProvider.js.map +1 -1
  146. package/dist/languageService/documentHighlightProvider.js +17 -7
  147. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  148. package/dist/languageService/documentSymbolCollector.d.ts +18 -0
  149. package/dist/languageService/documentSymbolCollector.js +102 -15
  150. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  151. package/dist/languageService/hoverProvider.d.ts +1 -1
  152. package/dist/languageService/hoverProvider.js +98 -23
  153. package/dist/languageService/hoverProvider.js.map +1 -1
  154. package/dist/languageService/importStatementCandidates.d.ts +16 -0
  155. package/dist/languageService/importStatementCandidates.js +100 -0
  156. package/dist/languageService/importStatementCandidates.js.map +1 -0
  157. package/dist/languageService/referencesProvider.d.ts +16 -9
  158. package/dist/languageService/referencesProvider.js +205 -39
  159. package/dist/languageService/referencesProvider.js.map +1 -1
  160. package/dist/languageService/renameProvider.d.ts +7 -2
  161. package/dist/languageService/renameProvider.js +45 -17
  162. package/dist/languageService/renameProvider.js.map +1 -1
  163. package/dist/languageService/signatureHelpProvider.js +54 -16
  164. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  165. package/dist/languageService/symbolIndexer.js +17 -7
  166. package/dist/languageService/symbolIndexer.js.map +1 -1
  167. package/dist/languageService/tooltipUtils.d.ts +11 -0
  168. package/dist/languageService/tooltipUtils.js +67 -33
  169. package/dist/languageService/tooltipUtils.js.map +1 -1
  170. package/dist/languageService/workspaceSymbolProvider.js +17 -7
  171. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  172. package/dist/localization/localize.d.ts +8 -0
  173. package/dist/localization/localize.js +6 -0
  174. package/dist/localization/localize.js.map +1 -1
  175. package/dist/localization/package.nls.en-us.json +5 -0
  176. package/dist/parser/characters.js +17 -7
  177. package/dist/parser/characters.js.map +1 -1
  178. package/dist/parser/parseNodes.d.ts +4 -0
  179. package/dist/parser/parseNodes.js.map +1 -1
  180. package/dist/parser/parser.d.ts +1 -0
  181. package/dist/parser/parser.js +91 -38
  182. package/dist/parser/parser.js.map +1 -1
  183. package/dist/parser/stringTokenUtils.js +23 -7
  184. package/dist/parser/stringTokenUtils.js.map +1 -1
  185. package/dist/parser/tokenizer.js +16 -15
  186. package/dist/parser/tokenizer.js.map +1 -1
  187. package/dist/parser/tokenizerTypes.d.ts +15 -14
  188. package/dist/parser/tokenizerTypes.js +22 -15
  189. package/dist/parser/tokenizerTypes.js.map +1 -1
  190. package/dist/pyright.js +17 -7
  191. package/dist/pyright.js.map +1 -1
  192. package/dist/readonlyAugmentedFileSystem.js +13 -6
  193. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  194. package/dist/server.js +1 -1
  195. package/dist/server.js.map +1 -1
  196. package/dist/tests/benchmarks/parserBenchmark.test.js +17 -7
  197. package/dist/tests/benchmarks/parserBenchmark.test.js.map +1 -1
  198. package/dist/tests/benchmarks/tokenizerBenchmark.test.js +17 -7
  199. package/dist/tests/benchmarks/tokenizerBenchmark.test.js.map +1 -1
  200. package/dist/tests/chainedSourceFiles.test.js +17 -7
  201. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  202. package/dist/tests/checker.test.js +21 -7
  203. package/dist/tests/checker.test.js.map +1 -1
  204. package/dist/tests/collectionUtils.test.js +17 -7
  205. package/dist/tests/collectionUtils.test.js.map +1 -1
  206. package/dist/tests/common.test.js +17 -7
  207. package/dist/tests/common.test.js.map +1 -1
  208. package/dist/tests/completionProviderUtils.test.d.ts +1 -0
  209. package/dist/tests/completionProviderUtils.test.js +56 -0
  210. package/dist/tests/completionProviderUtils.test.js.map +1 -0
  211. package/dist/tests/completions.test.js +118 -9
  212. package/dist/tests/completions.test.js.map +1 -1
  213. package/dist/tests/config.test.js +69 -0
  214. package/dist/tests/config.test.js.map +1 -1
  215. package/dist/tests/debug.test.js +17 -7
  216. package/dist/tests/debug.test.js.map +1 -1
  217. package/dist/tests/deferred.test.js +18 -8
  218. package/dist/tests/deferred.test.js.map +1 -1
  219. package/dist/tests/diagnosticOverrides.test.js +17 -7
  220. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  221. package/dist/tests/diagnostics.test.js +35 -0
  222. package/dist/tests/diagnostics.test.js.map +1 -1
  223. package/dist/tests/docStringReturnExtraction.test.d.ts +1 -0
  224. package/dist/tests/docStringReturnExtraction.test.js +125 -0
  225. package/dist/tests/docStringReturnExtraction.test.js.map +1 -0
  226. package/dist/tests/envVarUtils.test.js +17 -7
  227. package/dist/tests/envVarUtils.test.js.map +1 -1
  228. package/dist/tests/filesystem.test.js +17 -7
  229. package/dist/tests/filesystem.test.js.map +1 -1
  230. package/dist/tests/fourSlashParser.test.js +17 -7
  231. package/dist/tests/fourSlashParser.test.js.map +1 -1
  232. package/dist/tests/fourSlashRunner.test.js +17 -7
  233. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  234. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.d.ts +1 -0
  235. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js +35 -0
  236. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js.map +1 -0
  237. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
  238. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  239. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.d.ts +1 -0
  240. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js +86 -0
  241. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js.map +1 -0
  242. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js +20 -0
  243. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  244. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.d.ts +1 -0
  245. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js +122 -0
  246. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js.map +1 -0
  247. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.d.ts +1 -0
  248. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js +61 -0
  249. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js.map +1 -0
  250. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -5
  251. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  252. package/dist/tests/fourslash/signature.posonly.fourslash.d.ts +1 -0
  253. package/dist/tests/fourslash/signature.posonly.fourslash.js +58 -0
  254. package/dist/tests/fourslash/signature.posonly.fourslash.js.map +1 -0
  255. package/dist/tests/harness/fourslash/fourSlashTypes.js +17 -7
  256. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  257. package/dist/tests/harness/fourslash/runner.js +17 -7
  258. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  259. package/dist/tests/harness/fourslash/testLanguageService.js +17 -7
  260. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  261. package/dist/tests/harness/fourslash/testState.Consts.js +17 -7
  262. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  263. package/dist/tests/harness/fourslash/testState.js +17 -7
  264. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  265. package/dist/tests/harness/fourslash/testStateUtils.js +17 -7
  266. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  267. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +17 -7
  268. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  269. package/dist/tests/harness/testAccessHost.d.ts +1 -1
  270. package/dist/tests/harness/testAccessHost.js +1 -1
  271. package/dist/tests/harness/testAccessHost.js.map +1 -1
  272. package/dist/tests/harness/testHost.js +17 -7
  273. package/dist/tests/harness/testHost.js.map +1 -1
  274. package/dist/tests/harness/utils.d.ts +4 -4
  275. package/dist/tests/harness/utils.js.map +1 -1
  276. package/dist/tests/harness/vfs/factory.js +17 -7
  277. package/dist/tests/harness/vfs/factory.js.map +1 -1
  278. package/dist/tests/harness/vfs/filesystem.js +19 -11
  279. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  280. package/dist/tests/harness/vfs/pathValidation.js +17 -7
  281. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  282. package/dist/tests/importResolver.test.js +137 -0
  283. package/dist/tests/importResolver.test.js.map +1 -1
  284. package/dist/tests/importStatementUtils.test.js +92 -0
  285. package/dist/tests/importStatementUtils.test.js.map +1 -1
  286. package/dist/tests/languageServer.test.js +91 -0
  287. package/dist/tests/languageServer.test.js.map +1 -1
  288. package/dist/tests/localizer.test.js +17 -7
  289. package/dist/tests/localizer.test.js.map +1 -1
  290. package/dist/tests/logger.test.js +17 -7
  291. package/dist/tests/logger.test.js.map +1 -1
  292. package/dist/tests/lsp/languageServer.js +17 -7
  293. package/dist/tests/lsp/languageServer.js.map +1 -1
  294. package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -5
  295. package/dist/tests/lsp/languageServerTestUtils.js +77 -22
  296. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  297. package/dist/tests/parser.test.js +264 -7
  298. package/dist/tests/parser.test.js.map +1 -1
  299. package/dist/tests/pathUtils.test.js +17 -7
  300. package/dist/tests/pathUtils.test.js.map +1 -1
  301. package/dist/tests/positionUtils.test.js +26 -0
  302. package/dist/tests/positionUtils.test.js.map +1 -1
  303. package/dist/tests/pyrightFileSystem.test.js +25 -0
  304. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  305. package/dist/tests/realTempFile.test.js +17 -7
  306. package/dist/tests/realTempFile.test.js.map +1 -1
  307. package/dist/tests/signatureHelp.test.js +73 -0
  308. package/dist/tests/signatureHelp.test.js.map +1 -1
  309. package/dist/tests/sourceFile.test.js +17 -7
  310. package/dist/tests/sourceFile.test.js.map +1 -1
  311. package/dist/tests/sourceMapperUtils.test.js +192 -0
  312. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  313. package/dist/tests/stringUtils.test.js +17 -7
  314. package/dist/tests/stringUtils.test.js.map +1 -1
  315. package/dist/tests/symbolNameUtils.test.js +17 -7
  316. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  317. package/dist/tests/testState.test.js +17 -7
  318. package/dist/tests/testState.test.js.map +1 -1
  319. package/dist/tests/testUtils.js +17 -7
  320. package/dist/tests/testUtils.js.map +1 -1
  321. package/dist/tests/textRange.test.js +17 -7
  322. package/dist/tests/textRange.test.js.map +1 -1
  323. package/dist/tests/tokenizer.test.js +17 -7
  324. package/dist/tests/tokenizer.test.js.map +1 -1
  325. package/dist/tests/typeEvaluator1.test.js +21 -7
  326. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  327. package/dist/tests/typeEvaluator2.test.js +23 -7
  328. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  329. package/dist/tests/typeEvaluator3.test.js +23 -7
  330. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  331. package/dist/tests/typeEvaluator4.test.js +45 -7
  332. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  333. package/dist/tests/typeEvaluator5.test.js +17 -7
  334. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  335. package/dist/tests/typeEvaluator6.test.js +17 -7
  336. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  337. package/dist/tests/typeEvaluator7.test.js +17 -7
  338. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  339. package/dist/tests/typeEvaluator8.test.js +40 -28
  340. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  341. package/dist/tests/typePrinter.test.js +82 -7
  342. package/dist/tests/typePrinter.test.js.map +1 -1
  343. package/dist/tests/uri.test.js +17 -7
  344. package/dist/tests/uri.test.js.map +1 -1
  345. package/dist/tests/workspaceEditUtils.test.js +48 -7
  346. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  347. package/dist/tests/zipfs.test.js +17 -7
  348. package/dist/tests/zipfs.test.js.map +1 -1
  349. package/dist/types.d.ts +1 -0
  350. package/package.json +10 -10
  351. package/dist/tests/lsp/rspack.testserver.config.d.ts +0 -63
  352. package/dist/tests/lsp/rspack.testserver.config.js +0 -60
  353. package/dist/tests/lsp/rspack.testserver.config.js.map +0 -1
@@ -22,21 +22,33 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.SourceMapper = void 0;
34
44
  exports.isStubFile = isStubFile;
45
+ exports.isAliasFactoryCallee = isAliasFactoryCallee;
35
46
  const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
36
47
  const ParseTreeUtils = __importStar(require("../analyzer/parseTreeUtils"));
37
48
  const collectionUtils_1 = require("../common/collectionUtils");
38
49
  const core_1 = require("../common/core");
39
50
  const debug_1 = require("../common/debug");
51
+ const parseNodes_1 = require("../parser/parseNodes");
40
52
  const declaration_1 = require("./declaration");
41
53
  const sourceFileInfoUtils_1 = require("./sourceFileInfoUtils");
42
54
  const sourceMapperUtils_1 = require("./sourceMapperUtils");
@@ -200,7 +212,7 @@ class SourceMapper {
200
212
  _findMemberDeclarationsByName(sourceFile, className, memberName, declAdder, recursiveDeclCache) {
201
213
  const result = [];
202
214
  const classDecls = this._findClassDeclarationsByName(sourceFile, className, recursiveDeclCache);
203
- for (const classDecl of classDecls.filter((d) => (0, declaration_1.isClassDeclaration)(d)).map((d) => d)) {
215
+ for (const classDecl of this._getClassDeclarationsForMemberLookup(classDecls, recursiveDeclCache)) {
204
216
  const classResults = this._evaluator.getTypeOfClass(classDecl.node);
205
217
  if (!classResults) {
206
218
  continue;
@@ -214,6 +226,33 @@ class SourceMapper {
214
226
  }
215
227
  return result;
216
228
  }
229
+ _getClassDeclarationsForMemberLookup(declarations, recursiveDeclCache) {
230
+ const directClassDeclarations = declarations.filter((decl) => (0, declaration_1.isClassDeclaration)(decl));
231
+ if (directClassDeclarations.length > 0) {
232
+ return directClassDeclarations;
233
+ }
234
+ const result = [];
235
+ for (const declaration of declarations) {
236
+ const resolvedDeclarations = this._getClassDeclarationsFromMemberContainer(declaration, recursiveDeclCache);
237
+ (0, collectionUtils_1.appendArray)(result, resolvedDeclarations);
238
+ }
239
+ return result;
240
+ }
241
+ _getClassDeclarationsFromMemberContainer(declaration, recursiveDeclCache) {
242
+ const resolvedDeclarations = [];
243
+ if ((0, declaration_1.isVariableDeclaration)(declaration)) {
244
+ const aliasOriginExpression = this._getAliasOriginExpression(declaration);
245
+ if (aliasOriginExpression) {
246
+ // Keep the exploratory alias-origin walk isolated so a failed attempt doesn't block the normal
247
+ // declaration-resolution fallback below.
248
+ this._addDeclarationsForAliasOriginExpression(aliasOriginExpression, resolvedDeclarations, new Set(recursiveDeclCache));
249
+ }
250
+ }
251
+ if (resolvedDeclarations.length === 0) {
252
+ this._addClassOrFunctionDeclarations(declaration, resolvedDeclarations, new Set(recursiveDeclCache));
253
+ }
254
+ return resolvedDeclarations.filter((resolvedDecl) => (0, declaration_1.isClassDeclaration)(resolvedDecl));
255
+ }
217
256
  _findFieldDeclarationsByName(sourceFile, className, variableName, recursiveDeclCache) {
218
257
  let result = [];
219
258
  const uniqueId = `@${sourceFile.getUri()}/c/${className}/v/${variableName}`;
@@ -341,6 +380,29 @@ class SourceMapper {
341
380
  this._addClassOrFunctionDeclarations(decl, result, recursiveDeclCache);
342
381
  }
343
382
  }
383
+ // When alias declarations were found but couldn't be resolved to class
384
+ // declarations (e.g., due to circular re-exports between stubs like
385
+ // typing.pyi ↔ _collections_abc.pyi), try looking for the class directly
386
+ // in the source files of the module that the alias imports from.
387
+ if (result.length === 0) {
388
+ for (const decl of decls) {
389
+ if ((0, declaration_1.isAliasDeclaration)(decl) &&
390
+ !decl.uri.isEmpty() &&
391
+ this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
392
+ const aliasSourceFiles = this._getBoundSourceFilesFromStubFile(decl.uri);
393
+ const importedName = decl.symbolName ?? className;
394
+ for (const aliasSourceFile of aliasSourceFiles) {
395
+ const moduleNode = aliasSourceFile.getParserOutput()?.parseTree;
396
+ if (moduleNode) {
397
+ (0, collectionUtils_1.appendArray)(result, this._findClassDeclarations(aliasSourceFile, importedName, moduleNode, recursiveDeclCache));
398
+ }
399
+ }
400
+ if (result.length > 0) {
401
+ break;
402
+ }
403
+ }
404
+ }
405
+ }
344
406
  recursiveDeclCache.delete(uniqueId);
345
407
  return result;
346
408
  }
@@ -353,6 +415,12 @@ class SourceMapper {
353
415
  result.push(decl);
354
416
  }
355
417
  }
418
+ else if ((0, declaration_1.isClassDeclaration)(decl) || (0, declaration_1.isFunctionDeclaration)(decl)) {
419
+ // The stub-variable name resolved directly to a runtime class/function (e.g. a
420
+ // typeshed `name: _SomeProtocol` mapped to a `def name`/`class name`); map it to
421
+ // the implementation instead of dropping it.
422
+ this._addClassOrFunctionDeclarations(decl, result, recursiveDeclCache);
423
+ }
356
424
  else if ((0, declaration_1.isAliasDeclaration)(decl)) {
357
425
  const resolvedDecl = this._evaluator.resolveAliasDeclaration(decl, /* resolveLocalNames */ true);
358
426
  if (resolvedDecl) {
@@ -399,22 +467,142 @@ class SourceMapper {
399
467
  // Import resolver can't resolve an import that only exists in the lib but not in the stub in certain circumstance.
400
468
  const nodeToBind = decl.typeAliasName ?? decl.node;
401
469
  const type = this._evaluator.getType(nodeToBind);
402
- if (!type) {
403
- return;
470
+ const addedResolvedDeclarations = type
471
+ ? this._addDeclarationsForType(decl.uri, type, result, recursiveDeclCache)
472
+ : false;
473
+ if (!addedResolvedDeclarations) {
474
+ const aliasOriginExpression = this._getAliasOriginExpression(decl);
475
+ if (aliasOriginExpression) {
476
+ const aliasOriginType = this._evaluator.getType(aliasOriginExpression);
477
+ const addedAliasOriginDeclarations = aliasOriginType
478
+ ? this._addDeclarationsForType(decl.uri, aliasOriginType, result, recursiveDeclCache)
479
+ : false;
480
+ if (!addedAliasOriginDeclarations) {
481
+ this._addDeclarationsForAliasOriginExpression(aliasOriginExpression, result, recursiveDeclCache);
482
+ }
483
+ }
404
484
  }
405
- if ((0, types_1.isFunction)(type) && type.shared.declaration) {
406
- this._addClassOrFunctionDeclarations(type.shared.declaration, result, recursiveDeclCache);
485
+ }
486
+ }
487
+ _addDeclarationsForType(declUri, type, result, recursiveDeclCache) {
488
+ if ((0, types_1.isFunction)(type) && type.shared.declaration) {
489
+ this._addClassOrFunctionDeclarations(type.shared.declaration, result, recursiveDeclCache);
490
+ return true;
491
+ }
492
+ if ((0, types_1.isOverloaded)(type)) {
493
+ const overloads = types_1.OverloadedType.getOverloads(type);
494
+ const overloadDecls = overloads.map((o) => o.shared.declaration).filter(core_1.isDefined);
495
+ for (const overloadDecl of overloadDecls) {
496
+ this._addClassOrFunctionDeclarations(overloadDecl, result, recursiveDeclCache);
407
497
  }
408
- else if ((0, types_1.isOverloaded)(type)) {
409
- const overloads = types_1.OverloadedType.getOverloads(type);
410
- for (const overloadDecl of overloads.map((o) => o.shared.declaration).filter(core_1.isDefined)) {
411
- this._addClassOrFunctionDeclarations(overloadDecl, result, recursiveDeclCache);
412
- }
498
+ return overloadDecls.length > 0;
499
+ }
500
+ if ((0, types_1.isInstantiableClass)(type)) {
501
+ const resultLengthBefore = result.length;
502
+ this._addClassTypeDeclarations(declUri, type, result, recursiveDeclCache);
503
+ return result.length > resultLengthBefore;
504
+ }
505
+ return false;
506
+ }
507
+ _getAliasOriginExpression(decl) {
508
+ const typeSourceExpression = this._getVariableTypeSourceExpression(decl.inferredTypeSource);
509
+ if (!typeSourceExpression || typeSourceExpression.nodeType !== 9 /* ParseNodeType.Call */) {
510
+ return undefined;
511
+ }
512
+ if (!this._isAliasOriginFactoryCall(typeSourceExpression, decl.moduleName)) {
513
+ return undefined;
514
+ }
515
+ return typeSourceExpression.d.args[0]?.d.valueExpr;
516
+ }
517
+ _getVariableTypeSourceExpression(inferredTypeSource) {
518
+ if (!inferredTypeSource) {
519
+ return undefined;
520
+ }
521
+ if (inferredTypeSource.nodeType === 3 /* ParseNodeType.Assignment */) {
522
+ return inferredTypeSource.d.rightExpr;
523
+ }
524
+ if (inferredTypeSource.nodeType === 4 /* ParseNodeType.AssignmentExpression */) {
525
+ return inferredTypeSource.d.rightExpr;
526
+ }
527
+ return (0, parseNodes_1.isExpressionNode)(inferredTypeSource) ? inferredTypeSource : undefined;
528
+ }
529
+ _addDeclarationsForAliasOriginExpression(aliasOriginExpression, result, recursiveDeclCache) {
530
+ const dottedName = aliasOriginExpression.nodeType === 38 /* ParseNodeType.Name */ ||
531
+ aliasOriginExpression.nodeType === 35 /* ParseNodeType.MemberAccess */
532
+ ? ParseTreeUtils.getDottedName(aliasOriginExpression)
533
+ : undefined;
534
+ const symbolParts = dottedName?.map((name) => name.d.value);
535
+ if (!symbolParts || symbolParts.length === 0) {
536
+ return false;
537
+ }
538
+ const moduleNode = ParseTreeUtils.getEnclosingModule(aliasOriginExpression);
539
+ let currentSymbol = AnalyzerNodeInfo.getScope(moduleNode)?.lookUpSymbol(symbolParts[0]);
540
+ if (!currentSymbol) {
541
+ return false;
542
+ }
543
+ for (let index = 1; index < symbolParts.length; index++) {
544
+ let type = this._evaluator.getEffectiveTypeOfSymbol(currentSymbol);
545
+ if (type.category !== 7 /* TypeCategory.Module */ && type.category !== 6 /* TypeCategory.Class */) {
546
+ type = this._getRedirectedTypeFromSymbol(currentSymbol) ?? type;
413
547
  }
414
- else if ((0, types_1.isInstantiableClass)(type)) {
415
- this._addClassTypeDeclarations(decl.uri, type, result, recursiveDeclCache);
548
+ if (type.category === 7 /* TypeCategory.Module */) {
549
+ currentSymbol = this._lookUpModuleSymbol(type.priv.fileUri, symbolParts[index]);
550
+ }
551
+ else if (type.category === 6 /* TypeCategory.Class */) {
552
+ currentSymbol = (0, typeUtils_1.lookUpClassMember)(type, symbolParts[index])?.symbol;
553
+ }
554
+ else {
555
+ return false;
556
+ }
557
+ if (!currentSymbol) {
558
+ return false;
416
559
  }
417
560
  }
561
+ const declarations = currentSymbol.getDeclarations();
562
+ for (const declaration of declarations) {
563
+ this._addClassOrFunctionDeclarations(declaration, result, recursiveDeclCache);
564
+ }
565
+ return declarations.length > 0;
566
+ }
567
+ _getRedirectedTypeFromSymbol(currentSymbol) {
568
+ for (const declaration of currentSymbol.getDeclarations()) {
569
+ if (!(0, declaration_1.isVariableDeclaration)(declaration)) {
570
+ continue;
571
+ }
572
+ const redirectedExpression = this._getVariableTypeSourceExpression(declaration.inferredTypeSource);
573
+ if (!redirectedExpression) {
574
+ continue;
575
+ }
576
+ const redirectedType = this._evaluator.getType(redirectedExpression);
577
+ if (redirectedType &&
578
+ (redirectedType.category === 7 /* TypeCategory.Module */ || redirectedType.category === 6 /* TypeCategory.Class */)) {
579
+ return redirectedType;
580
+ }
581
+ }
582
+ return undefined;
583
+ }
584
+ _lookUpModuleSymbol(fileUri, symbolName) {
585
+ for (const sourceFile of this._getSourceFiles(fileUri)) {
586
+ const moduleNode = sourceFile.getParserOutput()?.parseTree;
587
+ const symbol = moduleNode ? AnalyzerNodeInfo.getScope(moduleNode)?.lookUpSymbol(symbolName) : undefined;
588
+ if (symbol) {
589
+ return symbol;
590
+ }
591
+ }
592
+ return undefined;
593
+ }
594
+ _isAliasOriginFactoryCall(callNode, moduleName) {
595
+ if (moduleName !== 'typing' && moduleName !== 'typing_extensions' && moduleName !== '_typing') {
596
+ return false;
597
+ }
598
+ if (!callNode.d.args[0]?.d.valueExpr) {
599
+ return false;
600
+ }
601
+ // CPython uses a private `_alias(origin, parameterCount)` helper in typing.py to expose some stdlib
602
+ // collection aliases. Source mapping uses the origin argument to recover declarations from the real
603
+ // implementation module when the direct stub-to-source declaration path has no result. Member-access
604
+ // forms (e.g. `typing._alias(...)`) are tolerated here because widening the source search is safe.
605
+ return isAliasFactoryCallee(callNode.d.leftExpr, /* allowMemberAccess */ true);
418
606
  }
419
607
  _handleSpecialBuiltInModule(decl) {
420
608
  // Some stdlib modules import builtin modules that don't actually exist as a file.
@@ -648,4 +836,17 @@ exports.SourceMapper = SourceMapper;
648
836
  function isStubFile(uri) {
649
837
  return uri.lastExtension === '.pyi';
650
838
  }
839
+ function isAliasFactoryCallee(callTarget, allowMemberAccess = false) {
840
+ // typeshed exposes some stdlib collection aliases through CPython's private `_alias(...)` factory in
841
+ // `typing`. This recognizes the factory callee by name. Member-access forms (e.g. `typing._alias(...)`)
842
+ // are only matched when `allowMemberAccess` is set, because callers that *drop* declarations must stay
843
+ // strict to avoid discarding unrelated `x._alias(...)` user code.
844
+ if (callTarget.nodeType === 38 /* ParseNodeType.Name */) {
845
+ return callTarget.d.value === '_alias';
846
+ }
847
+ if (allowMemberAccess && callTarget.nodeType === 35 /* ParseNodeType.MemberAccess */) {
848
+ return callTarget.d.member.d.value === '_alias';
849
+ }
850
+ return false;
851
+ }
651
852
  //# sourceMappingURL=sourceMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,26 @@ const pythonVersion_1 = require("../common/pythonVersion");
16
16
  // Returns undefined if the expression cannot be evaluated
17
17
  // statically as a bool value or true/false if it can.
18
18
  function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
19
+ return _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, _evaluateBoolConstant);
20
+ }
21
+ // Similar to evaluateStaticBoolExpression except that it handles other non-bool
22
+ // values that are statically falsy or truthy (like "None", "...", and
23
+ // numeric/string/container literals).
24
+ function evaluateStaticBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
25
+ return _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, _evaluateBoolLikeLiteral);
26
+ }
27
+ // Shared implementation of the two functions above.
28
+ // The `evaluateLeafAsBool` callback evaluates leaf expressions.
29
+ function _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool) {
19
30
  if (node.nodeType === 4 /* ParseNodeType.AssignmentExpression */) {
20
- return evaluateStaticBoolExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases);
31
+ return _evaluateStaticBoolOrBoolLikeExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
21
32
  }
22
33
  if (node.nodeType === 55 /* ParseNodeType.UnaryOperation */) {
23
34
  if (node.d.operator === 38 /* OperatorType.Not */) {
24
- const value = evaluateStaticBoolLikeExpression(node.d.expr, execEnv, definedConstants, typingImportAliases, sysImportAliases);
35
+ const value = _evaluateStaticBoolOrBoolLikeExpression(node.d.expr, execEnv, definedConstants, typingImportAliases, sysImportAliases,
36
+ // `not x` always forces a truthiness context on its operand and yields real `bool`.
37
+ // So the operand is folded with the bool-like leaf even for strict callers.
38
+ _evaluateBoolLikeLiteral);
25
39
  if (value !== undefined) {
26
40
  return !value;
27
41
  }
@@ -30,8 +44,8 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
30
44
  else if (node.nodeType === 7 /* ParseNodeType.BinaryOperation */) {
31
45
  // Is it an OR or AND expression?
32
46
  if (node.d.operator === 37 /* OperatorType.Or */ || node.d.operator === 36 /* OperatorType.And */) {
33
- const leftValue = evaluateStaticBoolExpression(node.d.leftExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases);
34
- const rightValue = evaluateStaticBoolExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases);
47
+ const leftValue = _evaluateStaticBoolOrBoolLikeExpression(node.d.leftExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
48
+ const rightValue = _evaluateStaticBoolOrBoolLikeExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
35
49
  if (leftValue === undefined || rightValue === undefined) {
36
50
  return undefined;
37
51
  }
@@ -95,14 +109,6 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
95
109
  }
96
110
  }
97
111
  }
98
- else if (node.nodeType === 14 /* ParseNodeType.Constant */) {
99
- if (node.d.constType === 33 /* KeywordType.True */) {
100
- return true;
101
- }
102
- else if (node.d.constType === 15 /* KeywordType.False */) {
103
- return false;
104
- }
105
- }
106
112
  else if (node.nodeType === 38 /* ParseNodeType.Name */) {
107
113
  if (node.d.value === 'TYPE_CHECKING') {
108
114
  return true;
@@ -124,18 +130,84 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
124
130
  return !!constant;
125
131
  }
126
132
  }
127
- return undefined;
133
+ return evaluateLeafAsBool(node);
128
134
  }
129
- // Similar to evaluateStaticBoolExpression except that it handles
130
- // other non-bool values that are statically falsy or truthy
131
- // (like "None").
132
- function evaluateStaticBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
135
+ function _evaluateBoolConstant(node) {
133
136
  if (node.nodeType === 14 /* ParseNodeType.Constant */) {
134
- if (node.d.constType === 26 /* KeywordType.None */) {
137
+ if (node.d.constType === 34 /* KeywordType.True */) {
138
+ return true;
139
+ }
140
+ if (node.d.constType === 15 /* KeywordType.False */) {
135
141
  return false;
136
142
  }
137
143
  }
138
- return evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases);
144
+ return undefined;
145
+ }
146
+ function _evaluateBoolLikeLiteral(node) {
147
+ switch (node.nodeType) {
148
+ case 14 /* ParseNodeType.Constant */:
149
+ if (node.d.constType === 34 /* KeywordType.True */) {
150
+ return true;
151
+ }
152
+ if (node.d.constType === 15 /* KeywordType.False */ || node.d.constType === 27 /* KeywordType.None */) {
153
+ return false;
154
+ }
155
+ return undefined;
156
+ case 21 /* ParseNodeType.Ellipsis */:
157
+ return true;
158
+ case 40 /* ParseNodeType.Number */:
159
+ return _evaluateNumberTruthiness(node);
160
+ case 48 /* ParseNodeType.StringList */:
161
+ return _evaluateStringListTruthiness(node);
162
+ case 34 /* ParseNodeType.List */:
163
+ case 45 /* ParseNodeType.Set */:
164
+ case 52 /* ParseNodeType.Tuple */:
165
+ return _evaluateSequenceTruthiness(node.d.items);
166
+ case 18 /* ParseNodeType.Dictionary */:
167
+ return _evaluateDictTruthiness(node.d.items);
168
+ default:
169
+ return undefined;
170
+ }
171
+ }
172
+ function _evaluateNumberTruthiness(node) {
173
+ // bool(v) is False iff v == 0:
174
+ // - zero (0, 0.0, 0j) is falsy;
175
+ // - everything else is truthy, including infinity and NaN.
176
+ if (typeof node.d.value === 'bigint') {
177
+ return node.d.value !== BigInt(0);
178
+ }
179
+ return node.d.value !== 0;
180
+ }
181
+ function _evaluateStringListTruthiness(node) {
182
+ // If any segment is an f-string, the concatenated value is runtime-dependent
183
+ // (e.g. f"{x}" may be empty or not).
184
+ if (node.d.strings.some((str) => str.nodeType === 30 /* ParseNodeType.FormatString */)) {
185
+ return undefined;
186
+ }
187
+ // Truthy iff any segment is non-empty.
188
+ return node.d.strings.some((str) => str.d.value.length > 0);
189
+ }
190
+ function _evaluateSequenceTruthiness(items) {
191
+ if (items.length === 0) {
192
+ return false;
193
+ }
194
+ // A concrete element (not an unpack "*x" or a comprehension) guarantees the sequence is non-empty.
195
+ if (items.some((item) => item.nodeType !== 56 /* ParseNodeType.Unpack */ && item.nodeType !== 11 /* ParseNodeType.Comprehension */)) {
196
+ return true;
197
+ }
198
+ // Only unpacks/comprehensions remain (e.g. "[*x]", "[i for i in y]").
199
+ return undefined;
200
+ }
201
+ function _evaluateDictTruthiness(items) {
202
+ if (items.length === 0) {
203
+ return false;
204
+ }
205
+ // A concrete key/value entry guarantees the dict is non-empty.
206
+ if (items.some((item) => item.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */)) {
207
+ return true;
208
+ }
209
+ // Only "**" expansions or comprehensions remain.
210
+ return undefined;
139
211
  }
140
212
  function _convertTupleToVersion(node) {
141
213
  if (node.d.items.length >= 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":"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"}