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

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 (299) 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/dataClasses.js +19 -8
  9. package/dist/analyzer/dataClasses.js.map +1 -1
  10. package/dist/analyzer/declaration.d.ts +1 -0
  11. package/dist/analyzer/declaration.js.map +1 -1
  12. package/dist/analyzer/importResolver.d.ts +1 -0
  13. package/dist/analyzer/importResolver.js +38 -8
  14. package/dist/analyzer/importResolver.js.map +1 -1
  15. package/dist/analyzer/importStatementUtils.js +17 -7
  16. package/dist/analyzer/importStatementUtils.js.map +1 -1
  17. package/dist/analyzer/namedTuples.js +17 -7
  18. package/dist/analyzer/namedTuples.js.map +1 -1
  19. package/dist/analyzer/parseTreeCleaner.js +17 -7
  20. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  21. package/dist/analyzer/parseTreeUtils.js +19 -9
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/parseTreeWalker.js +17 -7
  24. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  25. package/dist/analyzer/program.d.ts +1 -0
  26. package/dist/analyzer/program.js +38 -7
  27. package/dist/analyzer/program.js.map +1 -1
  28. package/dist/analyzer/pythonPathUtils.js +33 -7
  29. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  30. package/dist/analyzer/service.js +43 -11
  31. package/dist/analyzer/service.js.map +1 -1
  32. package/dist/analyzer/sourceEnumerator.js +6 -0
  33. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  34. package/dist/analyzer/sourceFile.d.ts +1 -0
  35. package/dist/analyzer/sourceFile.js +25 -7
  36. package/dist/analyzer/sourceFile.js.map +1 -1
  37. package/dist/analyzer/sourceMapper.d.ts +11 -1
  38. package/dist/analyzer/sourceMapper.js +220 -19
  39. package/dist/analyzer/sourceMapper.js.map +1 -1
  40. package/dist/analyzer/staticExpressions.js +2 -2
  41. package/dist/analyzer/tracePrinter.js +17 -7
  42. package/dist/analyzer/tracePrinter.js.map +1 -1
  43. package/dist/analyzer/typeCacheUtils.js +17 -7
  44. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  45. package/dist/analyzer/typeDocStringUtils.d.ts +8 -0
  46. package/dist/analyzer/typeDocStringUtils.js +101 -27
  47. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +69 -28
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeGuards.js +19 -9
  51. package/dist/analyzer/typeGuards.js.map +1 -1
  52. package/dist/analyzer/typePrinter.js +50 -8
  53. package/dist/analyzer/typePrinter.js.map +1 -1
  54. package/dist/analyzer/typeStubWriter.js +17 -7
  55. package/dist/analyzer/typeStubWriter.js.map +1 -1
  56. package/dist/analyzer/typeUtils.d.ts +1 -0
  57. package/dist/analyzer/typeUtils.js +9 -0
  58. package/dist/analyzer/typeUtils.js.map +1 -1
  59. package/dist/analyzer/typeWalker.js +1 -1
  60. package/dist/analyzer/typeWalker.js.map +1 -1
  61. package/dist/analyzer/typedDicts.js +19 -9
  62. package/dist/analyzer/typedDicts.js.map +1 -1
  63. package/dist/analyzer/typeshedInfoProvider.js +17 -7
  64. package/dist/analyzer/typeshedInfoProvider.js.map +1 -1
  65. package/dist/backgroundAnalysisBase.js +17 -7
  66. package/dist/backgroundAnalysisBase.js.map +1 -1
  67. package/dist/backgroundThreadBase.js +17 -7
  68. package/dist/backgroundThreadBase.js.map +1 -1
  69. package/dist/common/chokidarFileWatcherProvider.js +17 -7
  70. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  71. package/dist/common/configOptions.js +17 -7
  72. package/dist/common/configOptions.js.map +1 -1
  73. package/dist/common/console.js +17 -7
  74. package/dist/common/console.js.map +1 -1
  75. package/dist/common/envVarUtils.js +17 -7
  76. package/dist/common/envVarUtils.js.map +1 -1
  77. package/dist/common/extensibility.d.ts +2 -0
  78. package/dist/common/extensibility.js.map +1 -1
  79. package/dist/common/fileBasedCancellationUtils.js +17 -7
  80. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  81. package/dist/common/fullAccessHost.d.ts +2 -1
  82. package/dist/common/fullAccessHost.js +26 -7
  83. package/dist/common/fullAccessHost.js.map +1 -1
  84. package/dist/common/host.d.ts +31 -0
  85. package/dist/common/host.js +3 -0
  86. package/dist/common/host.js.map +1 -1
  87. package/dist/common/languageInfoUtils.js +12 -12
  88. package/dist/common/memUtils.js +18 -7
  89. package/dist/common/memUtils.js.map +1 -1
  90. package/dist/common/pathUtils.js +17 -7
  91. package/dist/common/pathUtils.js.map +1 -1
  92. package/dist/common/positionUtils.js +19 -0
  93. package/dist/common/positionUtils.js.map +1 -1
  94. package/dist/common/processUtils.js +17 -7
  95. package/dist/common/processUtils.js.map +1 -1
  96. package/dist/common/realFileSystem.js +19 -19
  97. package/dist/common/realFileSystem.js.map +1 -1
  98. package/dist/common/serviceProvider.js +17 -7
  99. package/dist/common/serviceProvider.js.map +1 -1
  100. package/dist/common/streamUtils.d.ts +1 -1
  101. package/dist/common/textEditTracker.d.ts +1 -0
  102. package/dist/common/textEditTracker.js +31 -12
  103. package/dist/common/textEditTracker.js.map +1 -1
  104. package/dist/common/uri/uriMap.d.ts +4 -4
  105. package/dist/common/uri/uriMap.js +1 -0
  106. package/dist/common/uri/uriMap.js.map +1 -1
  107. package/dist/common/workspaceEditUtils.d.ts +1 -0
  108. package/dist/common/workspaceEditUtils.js +10 -0
  109. package/dist/common/workspaceEditUtils.js.map +1 -1
  110. package/dist/languageServerBase.js +13 -3
  111. package/dist/languageServerBase.js.map +1 -1
  112. package/dist/languageService/autoImporter.js +17 -7
  113. package/dist/languageService/autoImporter.js.map +1 -1
  114. package/dist/languageService/callHierarchyProvider.js +17 -7
  115. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  116. package/dist/languageService/completionProvider.d.ts +5 -2
  117. package/dist/languageService/completionProvider.js +125 -19
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/completionProviderUtils.d.ts +16 -0
  120. package/dist/languageService/completionProviderUtils.js +42 -0
  121. package/dist/languageService/completionProviderUtils.js.map +1 -1
  122. package/dist/languageService/definitionProvider.d.ts +1 -1
  123. package/dist/languageService/definitionProvider.js +69 -10
  124. package/dist/languageService/definitionProvider.js.map +1 -1
  125. package/dist/languageService/documentHighlightProvider.js +17 -7
  126. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  127. package/dist/languageService/documentSymbolCollector.d.ts +4 -0
  128. package/dist/languageService/documentSymbolCollector.js +73 -9
  129. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  130. package/dist/languageService/hoverProvider.d.ts +1 -1
  131. package/dist/languageService/hoverProvider.js +76 -23
  132. package/dist/languageService/hoverProvider.js.map +1 -1
  133. package/dist/languageService/referencesProvider.js +17 -7
  134. package/dist/languageService/referencesProvider.js.map +1 -1
  135. package/dist/languageService/signatureHelpProvider.js +54 -16
  136. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  137. package/dist/languageService/symbolIndexer.js +17 -7
  138. package/dist/languageService/symbolIndexer.js.map +1 -1
  139. package/dist/languageService/tooltipUtils.d.ts +11 -0
  140. package/dist/languageService/tooltipUtils.js +67 -33
  141. package/dist/languageService/tooltipUtils.js.map +1 -1
  142. package/dist/languageService/workspaceSymbolProvider.js +17 -7
  143. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  144. package/dist/localization/localize.d.ts +2 -0
  145. package/dist/localization/localize.js +2 -0
  146. package/dist/localization/localize.js.map +1 -1
  147. package/dist/localization/package.nls.en-us.json +2 -0
  148. package/dist/parser/characters.js +17 -7
  149. package/dist/parser/characters.js.map +1 -1
  150. package/dist/parser/parseNodes.d.ts +4 -0
  151. package/dist/parser/parseNodes.js.map +1 -1
  152. package/dist/parser/parser.d.ts +1 -0
  153. package/dist/parser/parser.js +82 -38
  154. package/dist/parser/parser.js.map +1 -1
  155. package/dist/parser/stringTokenUtils.js +23 -7
  156. package/dist/parser/stringTokenUtils.js.map +1 -1
  157. package/dist/parser/tokenizer.js +16 -15
  158. package/dist/parser/tokenizer.js.map +1 -1
  159. package/dist/parser/tokenizerTypes.d.ts +15 -14
  160. package/dist/parser/tokenizerTypes.js +22 -15
  161. package/dist/parser/tokenizerTypes.js.map +1 -1
  162. package/dist/pyright.js +17 -7
  163. package/dist/pyright.js.map +1 -1
  164. package/dist/server.js +1 -1
  165. package/dist/server.js.map +1 -1
  166. package/dist/tests/benchmarks/parserBenchmark.test.js +17 -7
  167. package/dist/tests/benchmarks/parserBenchmark.test.js.map +1 -1
  168. package/dist/tests/benchmarks/tokenizerBenchmark.test.js +17 -7
  169. package/dist/tests/benchmarks/tokenizerBenchmark.test.js.map +1 -1
  170. package/dist/tests/chainedSourceFiles.test.js +17 -7
  171. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  172. package/dist/tests/checker.test.js +17 -7
  173. package/dist/tests/checker.test.js.map +1 -1
  174. package/dist/tests/collectionUtils.test.js +17 -7
  175. package/dist/tests/collectionUtils.test.js.map +1 -1
  176. package/dist/tests/common.test.js +17 -7
  177. package/dist/tests/common.test.js.map +1 -1
  178. package/dist/tests/completionProviderUtils.test.d.ts +1 -0
  179. package/dist/tests/completionProviderUtils.test.js +56 -0
  180. package/dist/tests/completionProviderUtils.test.js.map +1 -0
  181. package/dist/tests/config.test.js +69 -0
  182. package/dist/tests/config.test.js.map +1 -1
  183. package/dist/tests/debug.test.js +17 -7
  184. package/dist/tests/debug.test.js.map +1 -1
  185. package/dist/tests/deferred.test.js +18 -8
  186. package/dist/tests/deferred.test.js.map +1 -1
  187. package/dist/tests/diagnosticOverrides.test.js +17 -7
  188. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  189. package/dist/tests/diagnostics.test.js +35 -0
  190. package/dist/tests/diagnostics.test.js.map +1 -1
  191. package/dist/tests/envVarUtils.test.js +17 -7
  192. package/dist/tests/envVarUtils.test.js.map +1 -1
  193. package/dist/tests/filesystem.test.js +17 -7
  194. package/dist/tests/filesystem.test.js.map +1 -1
  195. package/dist/tests/fourSlashParser.test.js +17 -7
  196. package/dist/tests/fourSlashParser.test.js.map +1 -1
  197. package/dist/tests/fourSlashRunner.test.js +17 -7
  198. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  199. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
  200. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  201. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js +20 -0
  202. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  203. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.d.ts +1 -0
  204. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js +61 -0
  205. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js.map +1 -0
  206. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -5
  207. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/signature.posonly.fourslash.d.ts +1 -0
  209. package/dist/tests/fourslash/signature.posonly.fourslash.js +58 -0
  210. package/dist/tests/fourslash/signature.posonly.fourslash.js.map +1 -0
  211. package/dist/tests/harness/fourslash/fourSlashTypes.js +17 -7
  212. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  213. package/dist/tests/harness/fourslash/runner.js +17 -7
  214. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  215. package/dist/tests/harness/fourslash/testLanguageService.js +17 -7
  216. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  217. package/dist/tests/harness/fourslash/testState.Consts.js +17 -7
  218. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  219. package/dist/tests/harness/fourslash/testState.js +17 -7
  220. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  221. package/dist/tests/harness/fourslash/testStateUtils.js +17 -7
  222. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  223. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +17 -7
  224. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  225. package/dist/tests/harness/testHost.js +17 -7
  226. package/dist/tests/harness/testHost.js.map +1 -1
  227. package/dist/tests/harness/utils.d.ts +4 -4
  228. package/dist/tests/harness/utils.js.map +1 -1
  229. package/dist/tests/harness/vfs/factory.js +17 -7
  230. package/dist/tests/harness/vfs/factory.js.map +1 -1
  231. package/dist/tests/harness/vfs/filesystem.js +19 -11
  232. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  233. package/dist/tests/harness/vfs/pathValidation.js +17 -7
  234. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  235. package/dist/tests/importResolver.test.js +104 -0
  236. package/dist/tests/importResolver.test.js.map +1 -1
  237. package/dist/tests/languageServer.test.js +91 -0
  238. package/dist/tests/languageServer.test.js.map +1 -1
  239. package/dist/tests/localizer.test.js +17 -7
  240. package/dist/tests/localizer.test.js.map +1 -1
  241. package/dist/tests/logger.test.js +17 -7
  242. package/dist/tests/logger.test.js.map +1 -1
  243. package/dist/tests/lsp/languageServer.js +17 -7
  244. package/dist/tests/lsp/languageServer.js.map +1 -1
  245. package/dist/tests/lsp/languageServerTestUtils.d.ts +0 -4
  246. package/dist/tests/lsp/languageServerTestUtils.js +76 -21
  247. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  248. package/dist/tests/parser.test.js +246 -7
  249. package/dist/tests/parser.test.js.map +1 -1
  250. package/dist/tests/pathUtils.test.js +17 -7
  251. package/dist/tests/pathUtils.test.js.map +1 -1
  252. package/dist/tests/positionUtils.test.js +26 -0
  253. package/dist/tests/positionUtils.test.js.map +1 -1
  254. package/dist/tests/realTempFile.test.js +17 -7
  255. package/dist/tests/realTempFile.test.js.map +1 -1
  256. package/dist/tests/sourceFile.test.js +17 -7
  257. package/dist/tests/sourceFile.test.js.map +1 -1
  258. package/dist/tests/sourceMapperUtils.test.js +192 -0
  259. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  260. package/dist/tests/stringUtils.test.js +17 -7
  261. package/dist/tests/stringUtils.test.js.map +1 -1
  262. package/dist/tests/symbolNameUtils.test.js +17 -7
  263. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  264. package/dist/tests/testState.test.js +17 -7
  265. package/dist/tests/testState.test.js.map +1 -1
  266. package/dist/tests/testUtils.js +17 -7
  267. package/dist/tests/testUtils.js.map +1 -1
  268. package/dist/tests/textRange.test.js +17 -7
  269. package/dist/tests/textRange.test.js.map +1 -1
  270. package/dist/tests/tokenizer.test.js +17 -7
  271. package/dist/tests/tokenizer.test.js.map +1 -1
  272. package/dist/tests/typeEvaluator1.test.js +17 -7
  273. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  274. package/dist/tests/typeEvaluator2.test.js +17 -7
  275. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  276. package/dist/tests/typeEvaluator3.test.js +23 -7
  277. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  278. package/dist/tests/typeEvaluator4.test.js +23 -7
  279. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  280. package/dist/tests/typeEvaluator5.test.js +17 -7
  281. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  282. package/dist/tests/typeEvaluator6.test.js +17 -7
  283. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  284. package/dist/tests/typeEvaluator7.test.js +17 -7
  285. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  286. package/dist/tests/typeEvaluator8.test.js +17 -7
  287. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  288. package/dist/tests/typePrinter.test.js +82 -7
  289. package/dist/tests/typePrinter.test.js.map +1 -1
  290. package/dist/tests/uri.test.js +17 -7
  291. package/dist/tests/uri.test.js.map +1 -1
  292. package/dist/tests/workspaceEditUtils.test.js +48 -7
  293. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  294. package/dist/tests/zipfs.test.js +17 -7
  295. package/dist/tests/zipfs.test.js.map +1 -1
  296. package/package.json +9 -9
  297. package/dist/tests/lsp/rspack.testserver.config.d.ts +0 -63
  298. package/dist/tests/lsp/rspack.testserver.config.js +0 -60
  299. package/dist/tests/lsp/rspack.testserver.config.js.map +0 -1
@@ -22,13 +22,23 @@ 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.nullCallback = void 0;
34
44
  exports.analyzeProgram = analyzeProgram;
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/analyzer/analysis.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,wCA+DC;AA9FD,mEAAuG;AAGvG,uDAAyC;AAEzC,6CAA4C;AAGrC,MAAM,YAAY,GAA6B,GAAG,EAAE;IACvD,WAAW;AACf,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAqBF,SAAgB,cAAc,CAC1B,OAAgB,EAChB,OAAoC,EACpC,aAA4B,EAC5B,QAA8C,EAC9C,OAAyB,EACzB,KAAwB;IAExB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,QAAQ,GAAG,QAAQ,IAAI,oBAAY,CAAC;IAEpC,IAAI,CAAC;QACD,IAAA,gDAA4B,EAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,iBAAQ,EAAE,CAAC;QAChC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAEhE,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,0BAA0B,GAAG,OAAO,KAAK,SAAS,CAAC;QAEzD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;QACtF,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAEpD,wCAAwC;QACxC,IAAI,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,QAAQ,CAAC;gBACL,WAAW;gBACX,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE;gBACtC,sBAAsB,EAAE,sBAAsB;gBAC9C,qBAAqB,EAAE,OAAO,CAAC,uBAAuB,EAAE;gBACxD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,WAAW;gBACX,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,IAAI,8CAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,OAAO,CAAC,CAAC;QAEvD,QAAQ,CAAC;YACL,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,CAAC;YACjB,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9C,qBAAqB,EAAE,IAAI;YAC3B,kBAAkB,EAAE,IAAI;YACxB,wBAAwB,EAAE,KAAK;YAC/B,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/analyzer/analysis.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,wCA+DC;AA9FD,mEAAuG;AAGvG,uDAAyC;AAEzC,6CAA4C;AAGrC,MAAM,YAAY,GAA6B,GAAG,EAAE;IACvD,WAAW;AACf,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAqBF,SAAgB,cAAc,CAC1B,OAAgB,EAChB,OAAoC,EACpC,aAA4B,EAC5B,QAA8C,EAC9C,OAAyB,EACzB,KAAwB;IAExB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,QAAQ,GAAG,QAAQ,IAAI,oBAAY,CAAC;IAEpC,IAAI,CAAC;QACD,IAAA,gDAA4B,EAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,iBAAQ,EAAE,CAAC;QAChC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAEhE,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,0BAA0B,GAAG,OAAO,KAAK,SAAS,CAAC;QAEzD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;QACtF,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAEpD,wCAAwC;QACxC,IAAI,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,QAAQ,CAAC;gBACL,WAAW;gBACX,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE;gBACtC,sBAAsB,EAAE,sBAAsB;gBAC9C,qBAAqB,EAAE,OAAO,CAAC,uBAAuB,EAAE;gBACxD,kBAAkB,EAAE,KAAK;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,WAAW;gBACX,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,IAAI,8CAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,OAAO,CAAC,CAAC;QAEvD,QAAQ,CAAC;YACL,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,CAAC;YACjB,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9C,qBAAqB,EAAE,IAAI;YAC3B,kBAAkB,EAAE,IAAI;YACxB,wBAAwB,EAAE,KAAK;YAC/B,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -9,6 +9,17 @@ export interface DunderAllInfo {
9
9
  stringNodes: StringNode[];
10
10
  usesUnsupportedDunderAllForm: boolean;
11
11
  }
12
+ export interface AnalyzerNodeInfo {
13
+ importInfo?: ImportResult;
14
+ scope?: Scope;
15
+ declaration?: Declaration;
16
+ flowNode?: FlowNode;
17
+ afterFlowNode?: FlowNode;
18
+ fileInfo?: AnalyzerFileInfo;
19
+ codeFlowExpressions?: Set<string>;
20
+ codeFlowComplexity?: number;
21
+ dunderAllInfo?: DunderAllInfo | undefined;
22
+ }
12
23
  export type ScopedNode = ModuleNode | ClassNode | FunctionNode | LambdaNode | ComprehensionNode;
13
24
  export declare function cleanNodeAnalysisInfo(node: ParseNode): void;
14
25
  export declare function getImportInfo(node: ParseNode): ImportResult | undefined;
@@ -32,13 +32,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
32
32
  }) : function(o, v) {
33
33
  o["default"] = v;
34
34
  });
35
- var __importStar = (this && this.__importStar) || function (mod) {
36
- if (mod && mod.__esModule) return mod;
37
- var result = {};
38
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
39
- __setModuleDefault(result, mod);
40
- return result;
41
- };
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
42
52
  Object.defineProperty(exports, "__esModule", { value: true });
43
53
  exports.DummyScopeGenerator = exports.ReturnFinder = exports.YieldFinder = exports.Binder = void 0;
44
54
  const debug_1 = require("../common/debug");
@@ -1554,6 +1564,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1554
1564
  usesLocalName: false,
1555
1565
  moduleName: this._formatModuleName(node.d.module),
1556
1566
  isInExceptSuite: this._isInExceptSuite,
1567
+ isLazy: node.d.isLazy || undefined,
1557
1568
  };
1558
1569
  // Handle the case where this is an __init__.py file and the imported
1559
1570
  // module name refers to itself. The most common situation where this occurs
@@ -1581,6 +1592,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1581
1592
  moduleName: this._formatModuleName(node.d.module),
1582
1593
  isInExceptSuite: this._isInExceptSuite,
1583
1594
  isNativeLib: importInfo?.isNativeLib,
1595
+ isLazy: node.d.isLazy || undefined,
1584
1596
  };
1585
1597
  symbol.addDeclaration(aliasDecl);
1586
1598
  this._createFlowAssignment(importSymbolNode.d.alias || importSymbolNode.d.name);
@@ -2108,8 +2120,17 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2108
2120
  uriOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
2109
2121
  }
2110
2122
  const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0;
2123
+ // Determine whether this import was declared with the "lazy" keyword (PEP 810).
2124
+ const isLazy = node.nodeType === 24 /* ParseNodeType.ImportAs */
2125
+ ? node.parent?.d?.isLazy === true
2126
+ : node.d.isLazy === true;
2111
2127
  if (existingDecl) {
2112
2128
  newDecl = existingDecl;
2129
+ // Reconcile laziness: if any eager import path exists for this symbol,
2130
+ // the declaration is not lazy (PEP 810).
2131
+ if (!isLazy) {
2132
+ newDecl.isLazy = undefined;
2133
+ }
2113
2134
  }
2114
2135
  else if (isResolved) {
2115
2136
  newDecl = {
@@ -2124,6 +2145,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2124
2145
  : '.'.repeat(node.d.module.d.leadingDots) + firstNamePartValue,
2125
2146
  firstNamePart: firstNamePartValue,
2126
2147
  isInExceptSuite: this._isInExceptSuite,
2148
+ isLazy: isLazy || undefined,
2127
2149
  };
2128
2150
  }
2129
2151
  else {
@@ -2143,6 +2165,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2143
2165
  : '.'.repeat(node.d.module.d.leadingDots) + firstNamePartValue,
2144
2166
  isUnresolved: true,
2145
2167
  isInExceptSuite: this._isInExceptSuite,
2168
+ isLazy: isLazy || undefined,
2146
2169
  };
2147
2170
  }
2148
2171
  // See if there is import info for this part of the path. This allows us
@@ -2501,7 +2524,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2501
2524
  // Look for "X is None", "X is not None", "X == None", "X != None".
2502
2525
  // These are commonly-used patterns used in control flow.
2503
2526
  if (expression.d.rightExpr.nodeType === 14 /* ParseNodeType.Constant */ &&
2504
- expression.d.rightExpr.d.constType === 26 /* KeywordType.None */) {
2527
+ expression.d.rightExpr.d.constType === 27 /* KeywordType.None */) {
2505
2528
  return this._isNarrowingExpression(expression.d.leftExpr, expressionList, {
2506
2529
  ...options,
2507
2530
  isComplexExpression: true,