@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217

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 (360) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +4 -3
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
  4. package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +67 -62
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.js +43 -33
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/circularDependency.d.ts +3 -2
  11. package/dist/analyzer/circularDependency.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +47 -47
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/codeFlowTypes.d.ts +0 -1
  15. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  16. package/dist/analyzer/constraintSolver.js +3 -5
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/dataClasses.js +1 -1
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/declaration.d.ts +5 -3
  21. package/dist/analyzer/declaration.js +3 -2
  22. package/dist/analyzer/declaration.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.d.ts +3 -2
  24. package/dist/analyzer/declarationUtils.js +14 -12
  25. package/dist/analyzer/declarationUtils.js.map +1 -1
  26. package/dist/analyzer/decorators.js +14 -43
  27. package/dist/analyzer/decorators.js.map +1 -1
  28. package/dist/analyzer/enums.js +1 -1
  29. package/dist/analyzer/enums.js.map +1 -1
  30. package/dist/analyzer/importResolver.d.ts +29 -25
  31. package/dist/analyzer/importResolver.js +300 -301
  32. package/dist/analyzer/importResolver.js.map +1 -1
  33. package/dist/analyzer/importResult.d.ts +5 -4
  34. package/dist/analyzer/importResult.js.map +1 -1
  35. package/dist/analyzer/importStatementUtils.d.ts +5 -4
  36. package/dist/analyzer/importStatementUtils.js +23 -22
  37. package/dist/analyzer/importStatementUtils.js.map +1 -1
  38. package/dist/analyzer/namedTuples.js +3 -3
  39. package/dist/analyzer/namedTuples.js.map +1 -1
  40. package/dist/analyzer/packageTypeReport.d.ts +7 -6
  41. package/dist/analyzer/packageTypeReport.js +4 -4
  42. package/dist/analyzer/packageTypeReport.js.map +1 -1
  43. package/dist/analyzer/packageTypeVerifier.js +68 -64
  44. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  45. package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
  46. package/dist/analyzer/parentDirectoryCache.js +9 -10
  47. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  48. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  49. package/dist/analyzer/parseTreeUtils.js +7 -4
  50. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  51. package/dist/analyzer/patternMatching.js +102 -14
  52. package/dist/analyzer/patternMatching.js.map +1 -1
  53. package/dist/analyzer/program.d.ts +27 -26
  54. package/dist/analyzer/program.js +162 -156
  55. package/dist/analyzer/program.js.map +1 -1
  56. package/dist/analyzer/properties.js +6 -3
  57. package/dist/analyzer/properties.js.map +1 -1
  58. package/dist/analyzer/pyTypedUtils.d.ts +3 -2
  59. package/dist/analyzer/pyTypedUtils.js +4 -5
  60. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  61. package/dist/analyzer/pythonPathUtils.d.ts +7 -6
  62. package/dist/analyzer/pythonPathUtils.js +21 -23
  63. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  64. package/dist/analyzer/service.d.ts +24 -23
  65. package/dist/analyzer/service.js +190 -184
  66. package/dist/analyzer/service.js.map +1 -1
  67. package/dist/analyzer/sourceFile.d.ts +4 -5
  68. package/dist/analyzer/sourceFile.js +68 -56
  69. package/dist/analyzer/sourceFile.js.map +1 -1
  70. package/dist/analyzer/sourceFileInfoUtils.js +3 -3
  71. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  72. package/dist/analyzer/sourceMapper.d.ts +11 -10
  73. package/dist/analyzer/sourceMapper.js +61 -63
  74. package/dist/analyzer/sourceMapper.js.map +1 -1
  75. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  76. package/dist/analyzer/sourceMapperUtils.js +2 -2
  77. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  78. package/dist/analyzer/tracePrinter.d.ts +3 -2
  79. package/dist/analyzer/tracePrinter.js +21 -23
  80. package/dist/analyzer/tracePrinter.js.map +1 -1
  81. package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
  82. package/dist/analyzer/typeDocStringUtils.js +14 -17
  83. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  84. package/dist/analyzer/typeEvaluator.js +259 -152
  85. package/dist/analyzer/typeEvaluator.js.map +1 -1
  86. package/dist/analyzer/typeGuards.d.ts +1 -0
  87. package/dist/analyzer/typeGuards.js +5 -4
  88. package/dist/analyzer/typeGuards.js.map +1 -1
  89. package/dist/analyzer/typePrinter.d.ts +2 -0
  90. package/dist/analyzer/typePrinter.js +48 -8
  91. package/dist/analyzer/typePrinter.js.map +1 -1
  92. package/dist/analyzer/typeStubWriter.d.ts +2 -1
  93. package/dist/analyzer/typeStubWriter.js +2 -2
  94. package/dist/analyzer/typeStubWriter.js.map +1 -1
  95. package/dist/analyzer/typeUtils.d.ts +5 -2
  96. package/dist/analyzer/typeUtils.js +37 -10
  97. package/dist/analyzer/typeUtils.js.map +1 -1
  98. package/dist/analyzer/typedDicts.js +4 -4
  99. package/dist/analyzer/typedDicts.js.map +1 -1
  100. package/dist/analyzer/types.d.ts +10 -6
  101. package/dist/analyzer/types.js +7 -5
  102. package/dist/analyzer/types.js.map +1 -1
  103. package/dist/backgroundAnalysis.d.ts +1 -2
  104. package/dist/backgroundAnalysis.js +6 -4
  105. package/dist/backgroundAnalysis.js.map +1 -1
  106. package/dist/backgroundAnalysisBase.d.ts +22 -20
  107. package/dist/backgroundAnalysisBase.js +76 -55
  108. package/dist/backgroundAnalysisBase.js.map +1 -1
  109. package/dist/backgroundThreadBase.d.ts +1 -1
  110. package/dist/backgroundThreadBase.js +20 -11
  111. package/dist/backgroundThreadBase.js.map +1 -1
  112. package/dist/commands/createTypeStub.js +3 -2
  113. package/dist/commands/createTypeStub.js.map +1 -1
  114. package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
  115. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  116. package/dist/commands/quickActionCommand.js +5 -5
  117. package/dist/commands/quickActionCommand.js.map +1 -1
  118. package/dist/common/configOptions.d.ts +14 -13
  119. package/dist/common/configOptions.js +29 -27
  120. package/dist/common/configOptions.js.map +1 -1
  121. package/dist/common/diagnostic.d.ts +6 -5
  122. package/dist/common/diagnostic.js +2 -2
  123. package/dist/common/diagnostic.js.map +1 -1
  124. package/dist/common/diagnosticSink.d.ts +2 -1
  125. package/dist/common/diagnosticSink.js.map +1 -1
  126. package/dist/common/editAction.d.ts +6 -5
  127. package/dist/common/editAction.js +2 -2
  128. package/dist/common/editAction.js.map +1 -1
  129. package/dist/common/envVarUtils.d.ts +2 -1
  130. package/dist/common/envVarUtils.js +20 -28
  131. package/dist/common/envVarUtils.js.map +1 -1
  132. package/dist/common/extensibility.d.ts +19 -19
  133. package/dist/common/extensibility.js.map +1 -1
  134. package/dist/common/fileSystem.d.ts +29 -28
  135. package/dist/common/fileWatcher.d.ts +2 -1
  136. package/dist/common/fileWatcher.js.map +1 -1
  137. package/dist/common/fullAccessHost.d.ts +8 -7
  138. package/dist/common/fullAccessHost.js +21 -16
  139. package/dist/common/fullAccessHost.js.map +1 -1
  140. package/dist/common/host.d.ts +7 -6
  141. package/dist/common/host.js +1 -1
  142. package/dist/common/host.js.map +1 -1
  143. package/dist/common/logTracker.d.ts +2 -1
  144. package/dist/common/logTracker.js +4 -4
  145. package/dist/common/logTracker.js.map +1 -1
  146. package/dist/common/pathUtils.d.ts +1 -28
  147. package/dist/common/pathUtils.js +17 -366
  148. package/dist/common/pathUtils.js.map +1 -1
  149. package/dist/common/realFileSystem.d.ts +7 -3
  150. package/dist/common/realFileSystem.js +78 -60
  151. package/dist/common/realFileSystem.js.map +1 -1
  152. package/dist/common/serviceProviderExtensions.d.ts +2 -1
  153. package/dist/common/serviceProviderExtensions.js +5 -2
  154. package/dist/common/serviceProviderExtensions.js.map +1 -1
  155. package/dist/common/textEditTracker.d.ts +2 -1
  156. package/dist/common/textEditTracker.js +28 -28
  157. package/dist/common/textEditTracker.js.map +1 -1
  158. package/dist/common/textRange.d.ts +2 -1
  159. package/dist/common/textRange.js.map +1 -1
  160. package/dist/common/uri/baseUri.d.ts +51 -0
  161. package/dist/common/uri/baseUri.js +194 -0
  162. package/dist/common/uri/baseUri.js.map +1 -0
  163. package/dist/common/uri/emptyUri.d.ts +32 -0
  164. package/dist/common/uri/emptyUri.js +98 -0
  165. package/dist/common/uri/emptyUri.js.map +1 -0
  166. package/dist/common/uri/fileUri.d.ts +36 -0
  167. package/dist/common/uri/fileUri.js +180 -0
  168. package/dist/common/uri/fileUri.js.map +1 -0
  169. package/dist/common/uri/memoization.d.ts +3 -0
  170. package/dist/common/uri/memoization.js +72 -0
  171. package/dist/common/uri/memoization.js.map +1 -0
  172. package/dist/common/uri/uri.d.ts +50 -0
  173. package/dist/common/uri/uri.js +104 -0
  174. package/dist/common/uri/uri.js.map +1 -0
  175. package/dist/common/uri/uriUtils.d.ts +39 -0
  176. package/dist/common/uri/uriUtils.js +362 -0
  177. package/dist/common/uri/uriUtils.js.map +1 -0
  178. package/dist/common/uri/webUri.d.ts +36 -0
  179. package/dist/common/uri/webUri.js +207 -0
  180. package/dist/common/uri/webUri.js.map +1 -0
  181. package/dist/common/workspaceEditUtils.d.ts +8 -8
  182. package/dist/common/workspaceEditUtils.js +35 -38
  183. package/dist/common/workspaceEditUtils.js.map +1 -1
  184. package/dist/languageServerBase.d.ts +19 -22
  185. package/dist/languageServerBase.js +91 -95
  186. package/dist/languageServerBase.js.map +1 -1
  187. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
  188. package/dist/languageService/analyzerServiceExecutor.js +14 -16
  189. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  190. package/dist/languageService/autoImporter.d.ts +11 -9
  191. package/dist/languageService/autoImporter.js +45 -44
  192. package/dist/languageService/autoImporter.js.map +1 -1
  193. package/dist/languageService/callHierarchyProvider.d.ts +3 -2
  194. package/dist/languageService/callHierarchyProvider.js +23 -35
  195. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  196. package/dist/languageService/codeActionProvider.d.ts +2 -1
  197. package/dist/languageService/codeActionProvider.js +8 -10
  198. package/dist/languageService/codeActionProvider.js.map +1 -1
  199. package/dist/languageService/completionProvider.d.ts +7 -6
  200. package/dist/languageService/completionProvider.js +32 -30
  201. package/dist/languageService/completionProvider.js.map +1 -1
  202. package/dist/languageService/completionProviderUtils.d.ts +2 -1
  203. package/dist/languageService/completionProviderUtils.js +1 -1
  204. package/dist/languageService/completionProviderUtils.js.map +1 -1
  205. package/dist/languageService/definitionProvider.d.ts +4 -3
  206. package/dist/languageService/definitionProvider.js +26 -24
  207. package/dist/languageService/definitionProvider.js.map +1 -1
  208. package/dist/languageService/documentHighlightProvider.d.ts +3 -2
  209. package/dist/languageService/documentHighlightProvider.js +3 -3
  210. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  211. package/dist/languageService/documentSymbolCollector.js +8 -7
  212. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  213. package/dist/languageService/documentSymbolProvider.d.ts +5 -4
  214. package/dist/languageService/documentSymbolProvider.js +9 -11
  215. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  216. package/dist/languageService/hoverProvider.d.ts +4 -3
  217. package/dist/languageService/hoverProvider.js +6 -5
  218. package/dist/languageService/hoverProvider.js.map +1 -1
  219. package/dist/languageService/navigationUtils.d.ts +2 -1
  220. package/dist/languageService/navigationUtils.js +2 -3
  221. package/dist/languageService/navigationUtils.js.map +1 -1
  222. package/dist/languageService/quickActions.d.ts +2 -1
  223. package/dist/languageService/quickActions.js +3 -3
  224. package/dist/languageService/quickActions.js.map +1 -1
  225. package/dist/languageService/referencesProvider.d.ts +10 -9
  226. package/dist/languageService/referencesProvider.js +28 -28
  227. package/dist/languageService/referencesProvider.js.map +1 -1
  228. package/dist/languageService/renameProvider.d.ts +4 -3
  229. package/dist/languageService/renameProvider.js +17 -18
  230. package/dist/languageService/renameProvider.js.map +1 -1
  231. package/dist/languageService/signatureHelpProvider.d.ts +3 -2
  232. package/dist/languageService/signatureHelpProvider.js +4 -4
  233. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  234. package/dist/languageService/symbolIndexer.d.ts +2 -1
  235. package/dist/languageService/symbolIndexer.js +11 -3
  236. package/dist/languageService/symbolIndexer.js.map +1 -1
  237. package/dist/languageService/tooltipUtils.js +10 -4
  238. package/dist/languageService/tooltipUtils.js.map +1 -1
  239. package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
  240. package/dist/languageService/workspaceSymbolProvider.js +10 -11
  241. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  242. package/dist/localization/localize.d.ts +2 -0
  243. package/dist/localization/localize.js +2 -0
  244. package/dist/localization/localize.js.map +1 -1
  245. package/dist/localization/package.nls.en-us.json +3 -1
  246. package/dist/parser/parseNodes.d.ts +1 -0
  247. package/dist/parser/parseNodes.js +1 -0
  248. package/dist/parser/parseNodes.js.map +1 -1
  249. package/dist/parser/parser.js +18 -15
  250. package/dist/parser/parser.js.map +1 -1
  251. package/dist/pyright.js +16 -15
  252. package/dist/pyright.js.map +1 -1
  253. package/dist/pyrightFileSystem.d.ts +13 -13
  254. package/dist/pyrightFileSystem.js +38 -43
  255. package/dist/pyrightFileSystem.js.map +1 -1
  256. package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
  257. package/dist/readonlyAugmentedFileSystem.js +62 -65
  258. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  259. package/dist/server.js +21 -20
  260. package/dist/server.js.map +1 -1
  261. package/dist/tests/chainedSourceFiles.test.js +39 -30
  262. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  263. package/dist/tests/checker.test.js +31 -30
  264. package/dist/tests/checker.test.js.map +1 -1
  265. package/dist/tests/classDeclaration.test.d.ts +1 -0
  266. package/dist/tests/classDeclaration.test.js +166 -0
  267. package/dist/tests/classDeclaration.test.js.map +1 -0
  268. package/dist/tests/completions.test.js +7 -3
  269. package/dist/tests/completions.test.js.map +1 -1
  270. package/dist/tests/config.test.js +24 -22
  271. package/dist/tests/config.test.js.map +1 -1
  272. package/dist/tests/documentSymbolCollector.test.js +3 -2
  273. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  274. package/dist/tests/filesystem.test.js +37 -35
  275. package/dist/tests/filesystem.test.js.map +1 -1
  276. package/dist/tests/fourSlashParser.test.js +4 -4
  277. package/dist/tests/fourSlashParser.test.js.map +1 -1
  278. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
  279. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  280. package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
  281. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  282. package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
  283. package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
  284. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  285. package/dist/tests/harness/fourslash/testState.d.ts +4 -4
  286. package/dist/tests/harness/fourslash/testState.js +91 -51
  287. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  288. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
  289. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  290. package/dist/tests/harness/testAccessHost.d.ts +3 -2
  291. package/dist/tests/harness/testAccessHost.js +2 -1
  292. package/dist/tests/harness/testAccessHost.js.map +1 -1
  293. package/dist/tests/harness/testHost.js +13 -11
  294. package/dist/tests/harness/testHost.js.map +1 -1
  295. package/dist/tests/harness/vfs/factory.d.ts +3 -2
  296. package/dist/tests/harness/vfs/factory.js +5 -4
  297. package/dist/tests/harness/vfs/factory.js.map +1 -1
  298. package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
  299. package/dist/tests/harness/vfs/filesystem.js +47 -49
  300. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  301. package/dist/tests/harness/vfs/pathValidation.js +1 -10
  302. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  303. package/dist/tests/importResolver.test.js +106 -58
  304. package/dist/tests/importResolver.test.js.map +1 -1
  305. package/dist/tests/importStatementUtils.test.js +10 -9
  306. package/dist/tests/importStatementUtils.test.js.map +1 -1
  307. package/dist/tests/ipythonMode.test.js +12 -11
  308. package/dist/tests/ipythonMode.test.js.map +1 -1
  309. package/dist/tests/logger.test.js +2 -1
  310. package/dist/tests/logger.test.js.map +1 -1
  311. package/dist/tests/parseTreeUtils.test.js +2 -1
  312. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  313. package/dist/tests/pathUtils.test.js +3 -138
  314. package/dist/tests/pathUtils.test.js.map +1 -1
  315. package/dist/tests/pyrightFileSystem.test.js +38 -34
  316. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  317. package/dist/tests/service.test.js +37 -42
  318. package/dist/tests/service.test.js.map +1 -1
  319. package/dist/tests/signatureHelp.test.js +3 -2
  320. package/dist/tests/signatureHelp.test.js.map +1 -1
  321. package/dist/tests/sourceFile.test.js +8 -7
  322. package/dist/tests/sourceFile.test.js.map +1 -1
  323. package/dist/tests/sourceMapperUtils.test.js +73 -35
  324. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  325. package/dist/tests/testState.test.js +13 -9
  326. package/dist/tests/testState.test.js.map +1 -1
  327. package/dist/tests/testStateUtils.d.ts +2 -5
  328. package/dist/tests/testStateUtils.js +27 -64
  329. package/dist/tests/testStateUtils.js.map +1 -1
  330. package/dist/tests/testUtils.d.ts +3 -5
  331. package/dist/tests/testUtils.js +15 -64
  332. package/dist/tests/testUtils.js.map +1 -1
  333. package/dist/tests/textEditUtil.test.js +4 -3
  334. package/dist/tests/textEditUtil.test.js.map +1 -1
  335. package/dist/tests/typeEvaluator1.test.js +16 -15
  336. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  337. package/dist/tests/typeEvaluator2.test.js +22 -9
  338. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  339. package/dist/tests/typeEvaluator3.test.js +86 -63
  340. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  341. package/dist/tests/typeEvaluator4.test.js +29 -20
  342. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  343. package/dist/tests/typeEvaluator5.test.js +28 -27
  344. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  345. package/dist/tests/typePrinter.test.js +4 -3
  346. package/dist/tests/typePrinter.test.js.map +1 -1
  347. package/dist/tests/uri.test.d.ts +1 -0
  348. package/dist/tests/uri.test.js +695 -0
  349. package/dist/tests/uri.test.js.map +1 -0
  350. package/dist/tests/workspaceEditUtils.test.js +28 -28
  351. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  352. package/dist/tests/zipfs.test.js +11 -11
  353. package/dist/tests/zipfs.test.js.map +1 -1
  354. package/dist/workspaceFactory.d.ts +13 -14
  355. package/dist/workspaceFactory.js +54 -55
  356. package/dist/workspaceFactory.js.map +1 -1
  357. package/package.json +2 -2
  358. package/dist/common/uriParser.d.ts +0 -24
  359. package/dist/common/uriParser.js +0 -45
  360. package/dist/common/uriParser.js.map +0 -1
@@ -16,6 +16,7 @@ const pathConsts_1 = require("../common/pathConsts");
16
16
  const pathUtils_1 = require("../common/pathUtils");
17
17
  const realFileSystem_1 = require("../common/realFileSystem");
18
18
  const serviceProviderExtensions_1 = require("../common/serviceProviderExtensions");
19
+ const uri_1 = require("../common/uri/uri");
19
20
  const pyrightFileSystem_1 = require("../pyrightFileSystem");
20
21
  const testAccessHost_1 = require("./harness/testAccessHost");
21
22
  const filesystem_1 = require("./harness/vfs/filesystem");
@@ -43,8 +44,7 @@ if (!usingTrueVenv()) {
43
44
  const importResult = getImportResult(files, ['myLib', 'partialStub']);
44
45
  (0, assert_1.default)(importResult.isImportFound);
45
46
  (0, assert_1.default)(importResult.isStubFile);
46
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi'))
47
- .length);
47
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi')).length);
48
48
  });
49
49
  test('partial stub __init__ exists', () => {
50
50
  const files = [
@@ -64,8 +64,7 @@ if (!usingTrueVenv()) {
64
64
  const importResult = getImportResult(files, ['myLib']);
65
65
  (0, assert_1.default)(importResult.isImportFound);
66
66
  (0, assert_1.default)(importResult.isStubFile);
67
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'))
68
- .length);
67
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
69
68
  });
70
69
  test('stub package', () => {
71
70
  const files = [
@@ -102,11 +101,10 @@ if (!usingTrueVenv()) {
102
101
  content: 'def test(): pass',
103
102
  },
104
103
  ];
105
- const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = typingFolder));
104
+ const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = uri_1.Uri.file(typingFolder)));
106
105
  (0, assert_1.default)(importResult.isImportFound);
107
106
  (0, assert_1.default)(importResult.isStubFile);
108
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'))
109
- .length);
107
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
110
108
  });
111
109
  test('typeshed folder', () => {
112
110
  const typeshedFolder = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'ts');
@@ -129,11 +127,10 @@ if (!usingTrueVenv()) {
129
127
  },
130
128
  ];
131
129
  // Stub packages win over typeshed.
132
- const importResult = getImportResult(files, ['myLib'], (c) => (c.typeshedPath = typeshedFolder));
130
+ const importResult = getImportResult(files, ['myLib'], (c) => (c.typeshedPath = uri_1.Uri.file(typeshedFolder)));
133
131
  (0, assert_1.default)(importResult.isImportFound);
134
132
  (0, assert_1.default)(importResult.isStubFile);
135
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'))
136
- .length);
133
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
137
134
  });
138
135
  test('typeshed fallback folder', () => {
139
136
  const files = [
@@ -158,8 +155,7 @@ if (!usingTrueVenv()) {
158
155
  const importResult = getImportResult(files, ['myLib']);
159
156
  (0, assert_1.default)(importResult.isImportFound);
160
157
  (0, assert_1.default)(importResult.isStubFile);
161
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'))
162
- .length);
158
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
163
159
  });
164
160
  test('py.typed file', () => {
165
161
  const files = [
@@ -202,7 +198,7 @@ if (!usingTrueVenv()) {
202
198
  ];
203
199
  const importResult = getImportResult(files, ['os']);
204
200
  (0, assert_1.default)(importResult.isImportFound);
205
- assert_1.default.strictEqual(files[0].path, importResult.resolvedPaths[importResult.resolvedPaths.length - 1]);
201
+ assert_1.default.strictEqual(files[0].path, importResult.resolvedUris[importResult.resolvedUris.length - 1].getFilePath());
206
202
  });
207
203
  test('import side by side file sub under lib folder', () => {
208
204
  const files = [
@@ -254,29 +250,30 @@ describe('Import tests that can run with or without a true venv', () => {
254
250
  },
255
251
  ];
256
252
  const sp = createServiceProviderFromFiles(files);
257
- const configOptions = new configOptions_1.ConfigOptions((0, pathUtils_1.normalizeSlashes)('/'));
258
- const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [libraryRoot]));
253
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.file('/'));
254
+ const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [uri_1.Uri.file(libraryRoot)]));
259
255
  // Stub package wins over original package (per PEP 561 rules).
260
- const sideBySideResult = importResolver.resolveImport(myFile, configOptions.findExecEnvironment(myFile), {
256
+ const myUri = uri_1.Uri.file(myFile);
257
+ const sideBySideResult = importResolver.resolveImport(myUri, configOptions.findExecEnvironment(myUri), {
261
258
  leadingDots: 0,
262
259
  nameParts: ['myLib', 'partialStub'],
263
260
  importedSymbols: new Set(),
264
261
  });
265
262
  (0, assert_1.default)(sideBySideResult.isImportFound);
266
263
  (0, assert_1.default)(sideBySideResult.isStubFile);
267
- const sideBySideStubFile = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi');
268
- assert_1.default.strictEqual(1, sideBySideResult.resolvedPaths.filter((f) => f === sideBySideStubFile).length);
264
+ const sideBySideStubFile = uri_1.Uri.file((0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.pyi'));
265
+ assert_1.default.strictEqual(1, sideBySideResult.resolvedUris.filter((f) => f.key === sideBySideStubFile.key).length);
269
266
  assert_1.default.strictEqual('def test(): ...', sp.fs().readFileSync(sideBySideStubFile, 'utf8'));
270
267
  // Side by side stub doesn't completely disable partial stub.
271
- const partialStubResult = importResolver.resolveImport(myFile, configOptions.findExecEnvironment(myFile), {
268
+ const partialStubResult = importResolver.resolveImport(myUri, configOptions.findExecEnvironment(myUri), {
272
269
  leadingDots: 0,
273
270
  nameParts: ['myLib', 'partialStub2'],
274
271
  importedSymbols: new Set(),
275
272
  });
276
273
  (0, assert_1.default)(partialStubResult.isImportFound);
277
274
  (0, assert_1.default)(partialStubResult.isStubFile);
278
- const partialStubFile = (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub2.pyi');
279
- assert_1.default.strictEqual(1, partialStubResult.resolvedPaths.filter((f) => f === partialStubFile).length);
275
+ const partialStubFile = uri_1.Uri.file((0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub2.pyi'));
276
+ assert_1.default.strictEqual(1, partialStubResult.resolvedUris.filter((f) => f.key === partialStubFile.key).length);
280
277
  });
281
278
  test('stub namespace package', () => {
282
279
  const files = [
@@ -293,7 +290,32 @@ describe('Import tests that can run with or without a true venv', () => {
293
290
  const importResult = getImportResult(files, ['myLib', 'partialStub']);
294
291
  (0, assert_1.default)(importResult.isImportFound);
295
292
  (0, assert_1.default)(!importResult.isStubFile);
296
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.py')).length);
293
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'partialStub.py')).length);
294
+ });
295
+ test('py.typed namespace package plus stubs', () => {
296
+ const typingFolder = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'typing');
297
+ const files = [
298
+ {
299
+ path: (0, pathUtils_1.combinePaths)(typingFolder, 'myLib/core', 'foo.pyi'),
300
+ content: 'def test(): pass',
301
+ },
302
+ {
303
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', 'py.typed'),
304
+ content: '',
305
+ },
306
+ {
307
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.py'),
308
+ content: 'def test(): pass',
309
+ },
310
+ {
311
+ path: (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi'),
312
+ content: 'def test(): pass',
313
+ },
314
+ ];
315
+ const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = uri_1.Uri.file(typingFolder)));
316
+ (0, assert_1.default)(importResult.isImportFound);
317
+ (0, assert_1.default)(importResult.isStubFile);
318
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
297
319
  });
298
320
  test('stub in typing folder over partial stub package', () => {
299
321
  const typingFolder = (0, pathUtils_1.combinePaths)((0, pathUtils_1.normalizeSlashes)('/'), 'typing');
@@ -316,10 +338,10 @@ describe('Import tests that can run with or without a true venv', () => {
316
338
  },
317
339
  ];
318
340
  // If the package exists in typing folder, that gets picked up first.
319
- const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = typingFolder));
341
+ const importResult = getImportResult(files, ['myLib'], (c) => (c.stubPath = uri_1.Uri.file(typingFolder)));
320
342
  (0, assert_1.default)(importResult.isImportFound);
321
343
  (0, assert_1.default)(importResult.isStubFile);
322
- assert_1.default.strictEqual(0, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
344
+ assert_1.default.strictEqual(0, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)(libraryRoot, 'myLib', '__init__.pyi')).length);
323
345
  });
324
346
  test('non py.typed library', () => {
325
347
  const files = [
@@ -334,12 +356,12 @@ describe('Import tests that can run with or without a true venv', () => {
334
356
  ];
335
357
  const importResult = getImportResult(files, ['os']);
336
358
  (0, assert_1.default)(importResult.isImportFound);
337
- assert_1.default.strictEqual(files[1].path, importResult.resolvedPaths[importResult.resolvedPaths.length - 1]);
359
+ assert_1.default.strictEqual(files[1].path, importResult.resolvedUris[importResult.resolvedUris.length - 1].getFilePath());
338
360
  });
339
361
  test('no empty import roots', () => {
340
362
  const sp = createServiceProviderFromFiles([]);
341
- const configOptions = new configOptions_1.ConfigOptions(''); // Empty, like open-file mode.
342
- const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [libraryRoot]));
363
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty()); // Empty, like open-file mode.
364
+ const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [uri_1.Uri.file(libraryRoot)]));
343
365
  importResolver.getImportRoots(configOptions.getDefaultExecEnvironment()).forEach((path) => (0, assert_1.default)(path));
344
366
  });
345
367
  test('multiple typeshedFallback', () => {
@@ -354,11 +376,11 @@ describe('Import tests that can run with or without a true venv', () => {
354
376
  },
355
377
  ];
356
378
  const sp = createServiceProviderFromFiles(files);
357
- const configOptions = new configOptions_1.ConfigOptions(''); // Empty, like open-file mode.
358
- const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [libraryRoot]));
379
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty()); // Empty, like open-file mode.
380
+ const importResolver = new importResolver_1.ImportResolver(sp, configOptions, new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [uri_1.Uri.file(libraryRoot)]));
359
381
  const importRoots = importResolver.getImportRoots(configOptions.getDefaultExecEnvironment());
360
- assert_1.default.strictEqual(1, importRoots.filter((f) => f === (0, pathUtils_1.combinePaths)('/', pathConsts_1.typeshedFallback, 'stubs', 'aLib')).length);
361
- assert_1.default.strictEqual(1, importRoots.filter((f) => f === (0, pathUtils_1.combinePaths)('/', pathConsts_1.typeshedFallback, 'stubs', 'bLib')).length);
382
+ assert_1.default.strictEqual(1, importRoots.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)('/', pathConsts_1.typeshedFallback, 'stubs', 'aLib')).length);
383
+ assert_1.default.strictEqual(1, importRoots.filter((f) => !f.isEmpty() && f.getFilePath() === (0, pathUtils_1.combinePaths)('/', pathConsts_1.typeshedFallback, 'stubs', 'bLib')).length);
362
384
  });
363
385
  test('import side by side file root', () => {
364
386
  const files = [
@@ -373,7 +395,7 @@ describe('Import tests that can run with or without a true venv', () => {
373
395
  ];
374
396
  const importResult = getImportResult(files, ['file1']);
375
397
  (0, assert_1.default)(importResult.isImportFound);
376
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)('/', 'file1.py')).length);
398
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)('/', 'file1.py')).length);
377
399
  });
378
400
  test('import side by side file sub folder', () => {
379
401
  const files = [
@@ -388,7 +410,7 @@ describe('Import tests that can run with or without a true venv', () => {
388
410
  ];
389
411
  const importResult = getImportResult(files, ['file1']);
390
412
  (0, assert_1.default)(importResult.isImportFound);
391
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)('/test', 'file1.py')).length);
413
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)('/test', 'file1.py')).length);
392
414
  });
393
415
  test('import side by side file sub under src folder', () => {
394
416
  const files = [
@@ -403,7 +425,7 @@ describe('Import tests that can run with or without a true venv', () => {
403
425
  ];
404
426
  const importResult = getImportResult(files, ['file1']);
405
427
  (0, assert_1.default)(importResult.isImportFound);
406
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)('/src/nested', 'file1.py')).length);
428
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)('/src/nested', 'file1.py')).length);
407
429
  });
408
430
  test('import file sub under containing folder', () => {
409
431
  const files = [
@@ -418,7 +440,7 @@ describe('Import tests that can run with or without a true venv', () => {
418
440
  ];
419
441
  const importResult = getImportResult(files, ['file1']);
420
442
  (0, assert_1.default)(importResult.isImportFound);
421
- assert_1.default.strictEqual(1, importResult.resolvedPaths.filter((f) => f === (0, pathUtils_1.combinePaths)('/src/nested', 'file1.py')).length);
443
+ assert_1.default.strictEqual(1, importResult.resolvedUris.filter((f) => f.getFilePath() === (0, pathUtils_1.combinePaths)('/src/nested', 'file1.py')).length);
422
444
  });
423
445
  test("don't walk up the root", () => {
424
446
  const files = [
@@ -427,7 +449,7 @@ describe('Import tests that can run with or without a true venv', () => {
427
449
  content: 'def test1(): ...',
428
450
  },
429
451
  ];
430
- const importResult = getImportResult(files, ['notExist'], (c) => (c.projectRoot = ''));
452
+ const importResult = getImportResult(files, ['notExist'], (c) => (c.projectRoot = uri_1.Uri.empty()));
431
453
  (0, assert_1.default)(!importResult.isImportFound);
432
454
  });
433
455
  test('nested namespace package 1', () => {
@@ -446,7 +468,10 @@ describe('Import tests that can run with or without a true venv', () => {
446
468
  },
447
469
  ];
448
470
  const importResult = getImportResult(files, ['a', 'b', 'c', 'd'], (config) => {
449
- config.defaultExtraPaths = [(0, pathUtils_1.combinePaths)('/', 'packages1'), (0, pathUtils_1.combinePaths)('/', 'packages2')];
471
+ config.defaultExtraPaths = [
472
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages1')),
473
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages2')),
474
+ ];
450
475
  });
451
476
  (0, assert_1.default)(importResult.isImportFound);
452
477
  });
@@ -466,7 +491,10 @@ describe('Import tests that can run with or without a true venv', () => {
466
491
  },
467
492
  ];
468
493
  const importResult = getImportResult(files, ['a', 'b', 'c', 'd'], (config) => {
469
- config.defaultExtraPaths = [(0, pathUtils_1.combinePaths)('/', 'packages1'), (0, pathUtils_1.combinePaths)('/', 'packages2')];
494
+ config.defaultExtraPaths = [
495
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages1')),
496
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages2')),
497
+ ];
470
498
  });
471
499
  (0, assert_1.default)(importResult.isImportFound);
472
500
  });
@@ -482,7 +510,10 @@ describe('Import tests that can run with or without a true venv', () => {
482
510
  },
483
511
  ];
484
512
  const importResult = getImportResult(files, ['a', 'b', 'c', 'd'], (config) => {
485
- config.defaultExtraPaths = [(0, pathUtils_1.combinePaths)('/', 'packages1'), (0, pathUtils_1.combinePaths)('/', 'packages2')];
513
+ config.defaultExtraPaths = [
514
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages1')),
515
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages2')),
516
+ ];
486
517
  });
487
518
  (0, assert_1.default)(!importResult.isImportFound);
488
519
  });
@@ -506,7 +537,10 @@ describe('Import tests that can run with or without a true venv', () => {
506
537
  },
507
538
  ];
508
539
  const importResult = getImportResult(files, ['a', 'b', 'c'], (config) => {
509
- config.defaultExtraPaths = [(0, pathUtils_1.combinePaths)('/', 'packages1'), (0, pathUtils_1.combinePaths)('/', 'packages2')];
540
+ config.defaultExtraPaths = [
541
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages1')),
542
+ uri_1.Uri.file((0, pathUtils_1.combinePaths)('/', 'packages2')),
543
+ ];
510
544
  });
511
545
  (0, assert_1.default)(!importResult.isImportFound);
512
546
  });
@@ -527,7 +561,7 @@ if (usingTrueVenv()) {
527
561
  });
528
562
  }
529
563
  function getImportResult(files, nameParts, setup) {
530
- const defaultHostFactory = (sp) => new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [libraryRoot]);
564
+ const defaultHostFactory = (sp) => new testAccessHost_1.TestAccessHost(sp.fs().getModulePath(), [uri_1.Uri.file(libraryRoot)]);
531
565
  const defaultSetup = setup !== null && setup !== void 0 ? setup : ((c) => {
532
566
  /* empty */
533
567
  });
@@ -540,7 +574,9 @@ function getImportResult(files, nameParts, setup) {
540
574
  if (process.env.CI_IMPORT_TEST_VENVPATH) {
541
575
  configModifier = (c) => {
542
576
  defaultSetup(c);
543
- c.venvPath = process.env.CI_IMPORT_TEST_VENVPATH;
577
+ c.venvPath = uri_1.Uri.file(process.env.CI_IMPORT_TEST_VENVPATH,
578
+ /* isCaseSensitive */ true,
579
+ /* checkRelative */ true);
544
580
  c.venv = process.env.CI_IMPORT_TEST_VENV;
545
581
  };
546
582
  spFactory = (files) => createServiceProviderWithCombinedFs(files);
@@ -548,16 +584,19 @@ function getImportResult(files, nameParts, setup) {
548
584
  else if (process.env.CI_IMPORT_TEST_PYTHONPATH) {
549
585
  configModifier = (c) => {
550
586
  defaultSetup(c);
551
- c.pythonPath = process.env.CI_IMPORT_TEST_PYTHONPATH;
587
+ c.pythonPath = uri_1.Uri.file(process.env.CI_IMPORT_TEST_PYTHONPATH,
588
+ /* isCaseSensitive */ true,
589
+ /* checkRelative */ true);
552
590
  };
553
- hostFactory = (sp) => new TruePythonTestAccessHost();
591
+ hostFactory = (sp) => new TruePythonTestAccessHost(sp);
554
592
  spFactory = (files) => createServiceProviderWithCombinedFs(files);
555
593
  }
556
594
  return getImportResultImpl(files, nameParts, spFactory, configModifier, hostFactory);
557
595
  }
558
596
  function getImportResultImpl(files, nameParts, spFactory, configModifier, hostFactory) {
597
+ var _a;
559
598
  const sp = spFactory(files);
560
- const configOptions = new configOptions_1.ConfigOptions((0, pathUtils_1.normalizeSlashes)('/'));
599
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.file('/'));
561
600
  configModifier(configOptions);
562
601
  const file = files.length > 0 ? files[files.length - 1].path : (0, pathUtils_1.combinePaths)('src', 'file.py');
563
602
  if (files.length === 0) {
@@ -566,12 +605,18 @@ function getImportResultImpl(files, nameParts, spFactory, configModifier, hostFa
566
605
  content: '# not used',
567
606
  });
568
607
  }
608
+ const uri = uri_1.Uri.file(file);
569
609
  const importResolver = new importResolver_1.ImportResolver(sp, configOptions, hostFactory(sp));
570
- const importResult = importResolver.resolveImport(file, configOptions.findExecEnvironment(file), {
610
+ const importResult = importResolver.resolveImport(uri, configOptions.findExecEnvironment(uri), {
571
611
  leadingDots: 0,
572
612
  nameParts: nameParts,
573
613
  importedSymbols: new Set(),
574
614
  });
615
+ // Add the config venvpath to the import result so we can output it on failure.
616
+ if (!importResult.isImportFound) {
617
+ importResult.importFailureInfo = (_a = importResult.importFailureInfo) !== null && _a !== void 0 ? _a : [];
618
+ importResult.importFailureInfo.push(`venvPath: ${configOptions.venvPath}`);
619
+ }
575
620
  return importResult;
576
621
  }
577
622
  function createTestFileSystem(files) {
@@ -580,7 +625,7 @@ function createTestFileSystem(files) {
580
625
  const path = (0, pathUtils_1.normalizeSlashes)(file.path);
581
626
  const dir = (0, pathUtils_1.getDirectoryPath)(path);
582
627
  fs.mkdirpSync(dir);
583
- fs.writeFileSync(path, file.content);
628
+ fs.writeFileSync(uri_1.Uri.file(path), file.content);
584
629
  }
585
630
  return fs;
586
631
  }
@@ -593,8 +638,11 @@ function createServiceProviderWithCombinedFs(files) {
593
638
  return (0, serviceProviderExtensions_1.createServiceProvider)(fs);
594
639
  }
595
640
  class TruePythonTestAccessHost extends fullAccessHost_1.FullAccessHost {
596
- constructor() {
597
- super((0, realFileSystem_1.createFromRealFileSystem)());
641
+ constructor(sp) {
642
+ // Make sure the service provide in use is using a real file system
643
+ const clone = sp.clone();
644
+ clone.add(serviceProviderExtensions_1.ServiceKeys.fs, (0, realFileSystem_1.createFromRealFileSystem)());
645
+ super(clone);
598
646
  }
599
647
  }
600
648
  class CombinedFileSystem {
@@ -602,6 +650,9 @@ class CombinedFileSystem {
602
650
  this._testFS = _testFS;
603
651
  this._realFS = (0, realFileSystem_1.createFromRealFileSystem)();
604
652
  }
653
+ get isCaseSensitive() {
654
+ return this._testFS.isCaseSensitive;
655
+ }
605
656
  mkdirSync(path, options) {
606
657
  this._testFS.mkdirSync(path, options);
607
658
  }
@@ -680,17 +731,14 @@ class CombinedFileSystem {
680
731
  realCasePath(path) {
681
732
  return this._testFS.realCasePath(path);
682
733
  }
683
- isMappedFilePath(filepath) {
684
- return this._testFS.isMappedFilePath(filepath);
685
- }
686
- getOriginalFilePath(mappedFilePath) {
687
- return this._testFS.getOriginalFilePath(mappedFilePath);
734
+ isMappedUri(filepath) {
735
+ return this._testFS.isMappedUri(filepath);
688
736
  }
689
- getMappedFilePath(originalFilepath) {
690
- return this._testFS.getMappedFilePath(originalFilepath);
737
+ getOriginalUri(mappedFilePath) {
738
+ return this._testFS.getOriginalUri(mappedFilePath);
691
739
  }
692
- getUri(path) {
693
- return this._testFS.getUri(path);
740
+ getMappedUri(originalFilePath) {
741
+ return this._testFS.getMappedUri(originalFilePath);
694
742
  }
695
743
  isInZip(path) {
696
744
  return this._testFS.isInZip(path);
@@ -1 +1 @@
1
- {"version":3,"file":"importResolver.test.js","sourceRoot":"","sources":["../../../src/tests/importResolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importResolver.test.js","sourceRoot":"","sources":["../../../src/tests/importResolver.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAEH,oDAA4B;AAG5B,+DAA4D;AAC5D,2DAAwD;AAGxD,6DAA0D;AAE1D,qDAA2E;AAC3E,mDAAuF;AACvF,6DAAoE;AAEpE,mFAAyF;AACzF,2CAAwC;AACxC,4DAAyD;AACzD,6DAA0D;AAC1D,yDAA0D;AAE1D,MAAM,WAAW,GAAG,IAAA,wBAAY,EAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,gBAAG,EAAE,yBAAY,CAAC,CAAC;AAE3E,SAAS,aAAa;IAClB,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,SAAS,CAAC;AACpH,CAAC;AAED,IAAI,CAAC,aAAa,EAAE,EAAE;IAClB,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACzD,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,CAAC;oBACjE,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC;oBAC1D,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,CACnG,CAAC,MAAM,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC9D,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;oBACvD,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC,MAAM,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YACtB,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,SAAS;iBACrB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC9D,OAAO,EAAE,SAAS;iBACrB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC;oBAC1D,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,uEAAuE;YACvE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC/D,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC3D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;oBACvD,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrG,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC,MAAM,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,MAAM,cAAc,GAAG,IAAA,wBAAY,EAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC9D,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC;oBACxE,OAAO,EAAE,SAAS;iBACrB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;oBACvD,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,mCAAmC;YACnC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3G,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC,MAAM,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC9D,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC;oBAC/E,OAAO,EAAE,SAAS;iBACrB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;oBACvD,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,mCAAmC;YACnC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC,MAAM,CACX,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;oBAC9D,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,WAAW;iBACvB;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;oBACvD,OAAO,EAAE,kBAAkB;iBAC9B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC;oBACpD,OAAO,EAAE,SAAS;iBACrB;aACJ,CAAC;YAEF,0DAA0D;YAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC;oBACpD,OAAO,EAAE,iBAAiB;iBAC7B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC;oBACjD,OAAO,EAAE,EAAE;iBACd;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;oBAC9E,OAAO,EAAE,SAAS;iBACrB;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACnC,gBAAM,CAAC,WAAW,CACd,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EACb,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAChF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,0BAA0B,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,kBAAkB;iBAC9B;gBACD;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,0BAA0B,EAAE,UAAU,CAAC;oBAC1D,OAAO,EAAE,kBAAkB;iBAC9B;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;CACN;AACD,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACnE,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,CAAC;gBACjE,OAAO,EAAE,iBAAiB;aAC7B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;gBAC1D,OAAO,EAAE,WAAW;aACvB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;gBAC3D,OAAO,EAAE,SAAS;aACrB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC;gBAC1D,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;gBAClE,OAAO,EAAE,iBAAiB;aAC7B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC;gBAC3D,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,YAAY;aACxB;SACJ,CAAC;QAEF,MAAM,EAAE,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,+BAAc,CACrC,EAAE,EACF,aAAa,EACb,IAAI,+BAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,SAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CAAC;QAEF,+DAA+D;QAC/D,MAAM,KAAK,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACnG,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;YACnC,eAAe,EAAE,IAAI,GAAG,EAAU;SACrC,CAAC,CAAC;QAEH,IAAA,gBAAM,EAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACvC,IAAA,gBAAM,EAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,kBAAkB,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC3F,gBAAM,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5G,gBAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;QAExF,6DAA6D;QAC7D,MAAM,iBAAiB,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YACpG,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;YACpC,eAAe,EAAE,IAAI,GAAG,EAAU;SACrC,CAAC,CAAC;QAEH,IAAA,gBAAM,EAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACxC,IAAA,gBAAM,EAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAErC,MAAM,eAAe,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACzF,gBAAM,CAAC,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;gBAC1D,OAAO,EAAE,SAAS;aACrB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC;gBAC1D,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,uEAAuE;QACvE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACtE,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAClG,CAAC,MAAM,CACX,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC;gBACzD,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC;gBACpD,OAAO,EAAE,EAAE;aACd;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;gBACvD,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC;gBACxD,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrG,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChG,CAAC,MAAM,CACX,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,YAAY,GAAG,IAAA,wBAAY,EAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;gBAC9D,OAAO,EAAE,iBAAiB;aAC7B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;gBAC1D,OAAO,EAAE,WAAW;aACvB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,YAAY,EAAE,WAAW,CAAC;gBAC7C,OAAO,EAAE,SAAS;aACrB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;gBACvD,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,qEAAqE;QACrE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrG,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAChC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAChF,CAAC,MAAM,CACX,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC;gBACpD,OAAO,EAAE,iBAAiB;aAC7B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;gBAC9E,OAAO,EAAE,SAAS;aACrB;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CACd,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EACb,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAChF,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,GAAG,8BAA8B,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,SAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,8BAA8B;QACpF,MAAM,cAAc,GAAG,IAAI,+BAAc,CACrC,EAAE,EACF,aAAa,EACb,IAAI,+BAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,SAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CAAC;QACF,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gBAAM,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;gBAClF,OAAO,EAAE,SAAS;aACrB;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;gBAClF,OAAO,EAAE,SAAS;aACrB;SACJ,CAAC;QAEF,MAAM,EAAE,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,SAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,8BAA8B;QACpF,MAAM,cAAc,GAAG,IAAI,+BAAc,CACrC,EAAE,EACF,aAAa,EACb,IAAI,+BAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,SAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CAAC;QACF,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC,CAAC;QAE7F,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAClG,CAAC,MAAM,CACX,CAAC;QACF,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,WAAW,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,GAAG,EAAE,6BAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAClG,CAAC,MAAM,CACX,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CACpG,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,OAAO,EAAE,UAAU,CAAC;gBACvC,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,OAAO,EAAE,UAAU,CAAC;gBACvC,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CACxG,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,aAAa,EAAE,UAAU,CAAC;gBAC7C,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,aAAa,EAAE,UAAU,CAAC;gBAC7C,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAC9G,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,aAAa,EAAE,UAAU,CAAC;gBAC7C,OAAO,EAAE,kBAAkB;aAC9B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,qBAAqB,EAAE,UAAU,CAAC;gBACrD,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CACd,CAAC,EACD,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAA,wBAAY,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAC9G,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,UAAU,CAAC;gBACnC,OAAO,EAAE,kBAAkB;aAC9B;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChG,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC3D,OAAO,EAAE,eAAe;aAC3B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC;gBACxD,OAAO,EAAE,EAAE;aACd;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC;gBACxD,OAAO,EAAE,EAAE;aACd;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YACzE,MAAM,CAAC,iBAAiB,GAAG;gBACvB,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxC,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAC3C,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC3D,OAAO,EAAE,eAAe;aAC3B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC;gBAClE,OAAO,EAAE,EAAE;aACd;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC;gBAClE,OAAO,EAAE,EAAE;aACd;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YACzE,MAAM,CAAC,iBAAiB,GAAG;gBACvB,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxC,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAC3C,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC3D,OAAO,EAAE,eAAe;aAC3B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC;gBACxD,OAAO,EAAE,EAAE;aACd;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YACzE,MAAM,CAAC,iBAAiB,GAAG;gBACvB,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxC,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAC3C,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG;YACV;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC;gBAC7D,OAAO,EAAE,EAAE;aACd;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC;gBACtD,OAAO,EAAE,eAAe;aAC3B;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC;gBACxD,OAAO,EAAE,EAAE;aACd;YACD;gBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC;gBAC7D,OAAO,EAAE,EAAE;aACd;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YACpE,MAAM,CAAC,iBAAiB,GAAG;gBACvB,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACxC,SAAG,CAAC,IAAI,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAC3C,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAA,gBAAM,EAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,aAAa,EAAE,EAAE;IACjB,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACvD,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;;YAC/B,MAAM,KAAK,GAAG;gBACV;oBACI,IAAI,EAAE,IAAA,wBAAY,EAAC,GAAG,EAAE,UAAU,CAAC;oBACnC,OAAO,EAAE,eAAe;iBAC3B;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,IAAA,gBAAM,EAAC,YAAY,CAAC,aAAa,EAAE,qBAAqB,MAAA,YAAY,CAAC,iBAAiB,0CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;CACN;AAED,SAAS,eAAe,CACpB,KAA0C,EAC1C,SAAmB,EACnB,KAAkC;IAElC,MAAM,kBAAkB,GAAG,CAAC,EAAmB,EAAE,EAAE,CAC/C,IAAI,+BAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,SAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GACd,KAAK,aAAL,KAAK,cAAL,KAAK,GACL,CAAC,CAAC,CAAC,EAAE,EAAE;QACH,WAAW;IACf,CAAC,CAAC,CAAC;IACP,MAAM,gBAAgB,GAAG,CAAC,KAA0C,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAE/G,oGAAoG;IACpG,kEAAkE;IAClE,IAAI,WAAW,GAAkC,kBAAkB,CAAC;IACpE,IAAI,cAAc,GAAG,YAAY,CAAC;IAClC,IAAI,SAAS,GAAG,gBAAgB,CAAC;IAEjC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;QACrC,cAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;YAClC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,QAAQ,GAAG,SAAG,CAAC,IAAI,CACjB,OAAO,CAAC,GAAG,CAAC,uBAAwB;YACpC,qBAAqB,CAAC,IAAI;YAC1B,mBAAmB,CAAC,IAAI,CAC3B,CAAC;YACF,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC7C,CAAC,CAAC;QACF,SAAS,GAAG,CAAC,KAA0C,EAAE,EAAE,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;KAC1G;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;QAC9C,cAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;YAClC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,UAAU,GAAG,SAAG,CAAC,IAAI,CACnB,OAAO,CAAC,GAAG,CAAC,yBAA0B;YACtC,qBAAqB,CAAC,IAAI;YAC1B,mBAAmB,CAAC,IAAI,CAC3B,CAAC;QACN,CAAC,CAAC;QACF,WAAW,GAAG,CAAC,EAAmB,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACxE,SAAS,GAAG,CAAC,KAA0C,EAAE,EAAE,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC;KAC1G;IAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,mBAAmB,CACxB,KAA0C,EAC1C,SAAmB,EACnB,SAA0E,EAC1E,cAA0C,EAC1C,WAA0C;;IAE1C,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,cAAc,CAAC,aAAa,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,KAAK,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,YAAY;SACxB,CAAC,CAAC;KACN;IAED,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;QAC3F,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,IAAI,GAAG,EAAU;KACrC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;QAC7B,YAAY,CAAC,iBAAiB,GAAG,MAAA,YAAY,CAAC,iBAAiB,mCAAI,EAAE,CAAC;QACtE,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC9E;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AACD,SAAS,oBAAoB,CAAC,KAA0C;IACpE,MAAM,EAAE,GAAG,IAAI,2BAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC;QACnC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEnB,EAAE,CAAC,aAAa,CAAC,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClD;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AACD,SAAS,8BAA8B,CAAC,KAA0C;IAC9E,MAAM,EAAE,GAAG,IAAI,qCAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAA,iDAAqB,EAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,mCAAmC,CAAC,KAA0C;IACnF,MAAM,EAAE,GAAG,IAAI,qCAAiB,CAAC,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,IAAA,iDAAqB,EAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,wBAAyB,SAAQ,+BAAc;IACjD,YAAY,EAAmB;QAC3B,mEAAmE;QACnE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,uCAAW,CAAC,EAAE,EAAE,IAAA,yCAAwB,GAAE,CAAC,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,kBAAkB;IAGpB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAF/B,YAAO,GAAG,IAAA,yCAAwB,GAAE,CAAC;IAEH,CAAC;IAE3C,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,IAAS,EAAE,OAAkC;QACnD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,IAAS,EAAE,IAAqB,EAAE,QAA+B;QAC3E,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,IAAS;QAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAS;QACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,uBAAuB,CAAC,KAAY,EAAE,QAAiC;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,GAAQ;QAC3B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,IAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,IAAS;QACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,IAAS;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,IAAS;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAKD,YAAY,CAAC,IAAS,EAAE,WAAkC,IAAI;QAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,IAAS;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,IAAS;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,IAAS;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,IAAS,EAAE,QAAqC;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,QAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,cAAmB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,CAAC,gBAAqB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,IAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACJ"}
@@ -15,9 +15,9 @@ const declaration_1 = require("../analyzer/declaration");
15
15
  const importStatementUtils_1 = require("../analyzer/importStatementUtils");
16
16
  const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
17
17
  const core_1 = require("../common/core");
18
- const pathUtils_1 = require("../common/pathUtils");
19
18
  const positionUtils_1 = require("../common/positionUtils");
20
19
  const textRange_1 = require("../common/textRange");
20
+ const uri_1 = require("../common/uri/uri");
21
21
  const testState_1 = require("./harness/fourslash/testState");
22
22
  test('getTextEditsForAutoImportInsertion - import empty', () => {
23
23
  const code = `
@@ -312,8 +312,8 @@ test('getRelativeModuleName over fake file', () => {
312
312
  //// [|/*dest*/|]
313
313
  `;
314
314
  const state = (0, testState_1.parseAndGetTestState)(code).state;
315
- const dest = state.getMarkerByName('dest').fileName;
316
- assert_1.default.strictEqual((0, importStatementUtils_1.getRelativeModuleName)(state.fs, (0, pathUtils_1.combinePaths)((0, pathUtils_1.getDirectoryPath)(dest), 'source.py'), dest,
315
+ const dest = uri_1.Uri.file(state.getMarkerByName('dest').fileName);
316
+ assert_1.default.strictEqual((0, importStatementUtils_1.getRelativeModuleName)(state.fs, dest.getDirectory().combinePaths('source.py'), dest,
317
317
  /*ignoreFolderStructure*/ false,
318
318
  /*sourceIsFile*/ true), '.target');
319
319
  });
@@ -336,11 +336,12 @@ test('resolve alias of not needed file', () => {
336
336
  const marker = state.getMarkerByName('marker');
337
337
  const evaluator = state.workspace.service.getEvaluator();
338
338
  state.openFile(marker.fileName);
339
- const parseResults = state.workspace.service.getParseResult(marker.fileName);
339
+ const markerUri = uri_1.Uri.file(marker.fileName);
340
+ const parseResults = state.workspace.service.getParseResult(markerUri);
340
341
  const nameNode = (0, parseTreeUtils_1.findNodeByOffset)(parseResults.parseTree, marker.position);
341
342
  const aliasDecls = evaluator.getDeclarationsForNameNode(nameNode);
342
343
  // Unroot the file. we can't explicitly close the file since it will unload the file from test program.
343
- state.workspace.service.test_program.getSourceFileInfo(marker.fileName).isOpenByClient = false;
344
+ state.workspace.service.test_program.getSourceFileInfo(markerUri).isOpenByClient = false;
344
345
  const unresolved = evaluator.resolveAliasDeclaration(aliasDecls[0], /*resolveLocalNames*/ false);
345
346
  (0, assert_1.default)(!unresolved);
346
347
  const resolved = evaluator.resolveAliasDeclaration(aliasDecls[0], /*resolveLocalNames*/ false, {
@@ -351,14 +352,14 @@ test('resolve alias of not needed file', () => {
351
352
  });
352
353
  function testRelativeModuleName(code, expected, ignoreFolderStructure = false) {
353
354
  const state = (0, testState_1.parseAndGetTestState)(code).state;
354
- const src = state.getMarkerByName('src').fileName;
355
- const dest = state.getMarkerByName('dest').fileName;
355
+ const src = uri_1.Uri.file(state.getMarkerByName('src').fileName);
356
+ const dest = uri_1.Uri.file(state.getMarkerByName('dest').fileName);
356
357
  assert_1.default.strictEqual((0, importStatementUtils_1.getRelativeModuleName)(state.fs, src, dest, ignoreFolderStructure), expected);
357
358
  }
358
359
  function testAddition(code, markerName, importNameInfo, moduleName) {
359
360
  const state = (0, testState_1.parseAndGetTestState)(code).state;
360
361
  const marker = state.getMarkerByName(markerName);
361
- const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
362
+ const parseResults = state.program.getBoundSourceFile(uri_1.Uri.file(marker.fileName)).getParseResults();
362
363
  const importStatement = (0, importStatementUtils_1.getTopLevelImports)(parseResults.parseTree).orderedImports.find((i) => i.moduleName === moduleName);
363
364
  const edits = (0, importStatementUtils_1.getTextEditsForAutoImportSymbolAddition)(importNameInfo, importStatement, parseResults);
364
365
  const ranges = [...state.getRanges().filter((r) => { var _a; return !!((_a = r.marker) === null || _a === void 0 ? void 0 : _a.data); })];
@@ -368,7 +369,7 @@ function testAddition(code, markerName, importNameInfo, moduleName) {
368
369
  function testInsertions(code, markerName, importNameInfo) {
369
370
  const state = (0, testState_1.parseAndGetTestState)(code).state;
370
371
  const marker = state.getMarkerByName(markerName);
371
- const parseResults = state.program.getBoundSourceFile(marker.fileName).getParseResults();
372
+ const parseResults = state.program.getBoundSourceFile(uri_1.Uri.file(marker.fileName)).getParseResults();
372
373
  const importStatements = (0, importStatementUtils_1.getTopLevelImports)(parseResults.parseTree);
373
374
  const edits = (0, importStatementUtils_1.getTextEditsForAutoImportInsertions)(importNameInfo, importStatements, parseResults, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResults.tokenizerOutput.lines));
374
375
  const ranges = [...state.getRanges().filter((r) => { var _a; return !!((_a = r.marker) === null || _a === void 0 ? void 0 : _a.data); })];