@zzzen/pyright-internal 1.2.0-dev.20231126 → 1.2.0-dev.20231210

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 (383) 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 +59 -52
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.d.ts +4 -1
  9. package/dist/analyzer/checker.js +189 -42
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/circularDependency.d.ts +3 -2
  12. package/dist/analyzer/circularDependency.js.map +1 -1
  13. package/dist/analyzer/codeFlowEngine.js +36 -36
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/commentUtils.js +7 -0
  16. package/dist/analyzer/commentUtils.js.map +1 -1
  17. package/dist/analyzer/constraintSolver.js +14 -5
  18. package/dist/analyzer/constraintSolver.js.map +1 -1
  19. package/dist/analyzer/constructors.js +2 -1
  20. package/dist/analyzer/constructors.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +58 -47
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declaration.d.ts +5 -3
  24. package/dist/analyzer/declaration.js +3 -2
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.d.ts +3 -2
  27. package/dist/analyzer/declarationUtils.js +14 -12
  28. package/dist/analyzer/declarationUtils.js.map +1 -1
  29. package/dist/analyzer/enums.js +1 -1
  30. package/dist/analyzer/enums.js.map +1 -1
  31. package/dist/analyzer/importResolver.d.ts +29 -25
  32. package/dist/analyzer/importResolver.js +300 -301
  33. package/dist/analyzer/importResolver.js.map +1 -1
  34. package/dist/analyzer/importResult.d.ts +5 -4
  35. package/dist/analyzer/importResult.js.map +1 -1
  36. package/dist/analyzer/importStatementUtils.d.ts +5 -4
  37. package/dist/analyzer/importStatementUtils.js +23 -22
  38. package/dist/analyzer/importStatementUtils.js.map +1 -1
  39. package/dist/analyzer/namedTuples.js +3 -3
  40. package/dist/analyzer/namedTuples.js.map +1 -1
  41. package/dist/analyzer/operations.js +16 -14
  42. package/dist/analyzer/operations.js.map +1 -1
  43. package/dist/analyzer/packageTypeReport.d.ts +7 -6
  44. package/dist/analyzer/packageTypeReport.js +4 -4
  45. package/dist/analyzer/packageTypeReport.js.map +1 -1
  46. package/dist/analyzer/packageTypeVerifier.js +68 -64
  47. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  48. package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
  49. package/dist/analyzer/parentDirectoryCache.js +9 -10
  50. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  51. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  52. package/dist/analyzer/parseTreeUtils.js +6 -3
  53. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  54. package/dist/analyzer/patternMatching.js +79 -14
  55. package/dist/analyzer/patternMatching.js.map +1 -1
  56. package/dist/analyzer/program.d.ts +27 -26
  57. package/dist/analyzer/program.js +162 -156
  58. package/dist/analyzer/program.js.map +1 -1
  59. package/dist/analyzer/properties.js +3 -3
  60. package/dist/analyzer/properties.js.map +1 -1
  61. package/dist/analyzer/protocols.js +27 -13
  62. package/dist/analyzer/protocols.js.map +1 -1
  63. package/dist/analyzer/pyTypedUtils.d.ts +3 -2
  64. package/dist/analyzer/pyTypedUtils.js +4 -5
  65. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  66. package/dist/analyzer/pythonPathUtils.d.ts +7 -6
  67. package/dist/analyzer/pythonPathUtils.js +21 -23
  68. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  69. package/dist/analyzer/service.d.ts +24 -23
  70. package/dist/analyzer/service.js +187 -183
  71. package/dist/analyzer/service.js.map +1 -1
  72. package/dist/analyzer/sourceFile.d.ts +4 -5
  73. package/dist/analyzer/sourceFile.js +68 -56
  74. package/dist/analyzer/sourceFile.js.map +1 -1
  75. package/dist/analyzer/sourceFileInfoUtils.js +3 -3
  76. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  77. package/dist/analyzer/sourceMapper.d.ts +11 -10
  78. package/dist/analyzer/sourceMapper.js +59 -62
  79. package/dist/analyzer/sourceMapper.js.map +1 -1
  80. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  81. package/dist/analyzer/sourceMapperUtils.js +2 -2
  82. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  83. package/dist/analyzer/tracePrinter.d.ts +3 -2
  84. package/dist/analyzer/tracePrinter.js +21 -23
  85. package/dist/analyzer/tracePrinter.js.map +1 -1
  86. package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
  87. package/dist/analyzer/typeDocStringUtils.js +14 -17
  88. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  89. package/dist/analyzer/typeEvaluator.js +298 -231
  90. package/dist/analyzer/typeEvaluator.js.map +1 -1
  91. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
  92. package/dist/analyzer/typeEvaluatorTypes.js +1 -1
  93. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  94. package/dist/analyzer/typeGuards.js +3 -3
  95. package/dist/analyzer/typeGuards.js.map +1 -1
  96. package/dist/analyzer/typePrinter.d.ts +2 -0
  97. package/dist/analyzer/typePrinter.js +48 -8
  98. package/dist/analyzer/typePrinter.js.map +1 -1
  99. package/dist/analyzer/typeStubWriter.d.ts +2 -1
  100. package/dist/analyzer/typeStubWriter.js +2 -2
  101. package/dist/analyzer/typeStubWriter.js.map +1 -1
  102. package/dist/analyzer/typeUtils.d.ts +5 -3
  103. package/dist/analyzer/typeUtils.js +32 -17
  104. package/dist/analyzer/typeUtils.js.map +1 -1
  105. package/dist/analyzer/typeVarContext.d.ts +2 -0
  106. package/dist/analyzer/typeVarContext.js +27 -0
  107. package/dist/analyzer/typeVarContext.js.map +1 -1
  108. package/dist/analyzer/typedDicts.js +6 -36
  109. package/dist/analyzer/typedDicts.js.map +1 -1
  110. package/dist/analyzer/types.d.ts +8 -12
  111. package/dist/analyzer/types.js +13 -20
  112. package/dist/analyzer/types.js.map +1 -1
  113. package/dist/backgroundAnalysis.d.ts +1 -2
  114. package/dist/backgroundAnalysis.js +6 -4
  115. package/dist/backgroundAnalysis.js.map +1 -1
  116. package/dist/backgroundAnalysisBase.d.ts +22 -20
  117. package/dist/backgroundAnalysisBase.js +76 -55
  118. package/dist/backgroundAnalysisBase.js.map +1 -1
  119. package/dist/backgroundThreadBase.d.ts +1 -1
  120. package/dist/backgroundThreadBase.js +20 -11
  121. package/dist/backgroundThreadBase.js.map +1 -1
  122. package/dist/commands/commandController.js +1 -2
  123. package/dist/commands/commandController.js.map +1 -1
  124. package/dist/commands/commands.d.ts +0 -1
  125. package/dist/commands/commands.js +0 -1
  126. package/dist/commands/commands.js.map +1 -1
  127. package/dist/commands/createTypeStub.js +3 -2
  128. package/dist/commands/createTypeStub.js.map +1 -1
  129. package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
  130. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  131. package/dist/commands/quickActionCommand.js +5 -5
  132. package/dist/commands/quickActionCommand.js.map +1 -1
  133. package/dist/common/configOptions.d.ts +15 -13
  134. package/dist/common/configOptions.js +120 -30
  135. package/dist/common/configOptions.js.map +1 -1
  136. package/dist/common/diagnostic.d.ts +6 -9
  137. package/dist/common/diagnostic.js +2 -2
  138. package/dist/common/diagnostic.js.map +1 -1
  139. package/dist/common/diagnosticSink.d.ts +2 -1
  140. package/dist/common/diagnosticSink.js.map +1 -1
  141. package/dist/common/editAction.d.ts +6 -5
  142. package/dist/common/editAction.js +2 -2
  143. package/dist/common/editAction.js.map +1 -1
  144. package/dist/common/envVarUtils.d.ts +2 -1
  145. package/dist/common/envVarUtils.js +20 -28
  146. package/dist/common/envVarUtils.js.map +1 -1
  147. package/dist/common/extensibility.d.ts +19 -19
  148. package/dist/common/extensibility.js.map +1 -1
  149. package/dist/common/fileSystem.d.ts +29 -28
  150. package/dist/common/fileWatcher.d.ts +3 -2
  151. package/dist/common/fileWatcher.js.map +1 -1
  152. package/dist/common/fullAccessHost.d.ts +8 -7
  153. package/dist/common/fullAccessHost.js +21 -16
  154. package/dist/common/fullAccessHost.js.map +1 -1
  155. package/dist/common/host.d.ts +7 -6
  156. package/dist/common/host.js +1 -1
  157. package/dist/common/host.js.map +1 -1
  158. package/dist/common/logTracker.d.ts +2 -1
  159. package/dist/common/logTracker.js +4 -4
  160. package/dist/common/logTracker.js.map +1 -1
  161. package/dist/common/pathUtils.d.ts +1 -28
  162. package/dist/common/pathUtils.js +17 -366
  163. package/dist/common/pathUtils.js.map +1 -1
  164. package/dist/common/realFileSystem.d.ts +7 -3
  165. package/dist/common/realFileSystem.js +78 -60
  166. package/dist/common/realFileSystem.js.map +1 -1
  167. package/dist/common/serviceProviderExtensions.d.ts +2 -1
  168. package/dist/common/serviceProviderExtensions.js +5 -2
  169. package/dist/common/serviceProviderExtensions.js.map +1 -1
  170. package/dist/common/textEditTracker.d.ts +2 -1
  171. package/dist/common/textEditTracker.js +28 -28
  172. package/dist/common/textEditTracker.js.map +1 -1
  173. package/dist/common/textRange.d.ts +2 -1
  174. package/dist/common/textRange.js.map +1 -1
  175. package/dist/common/uri/baseUri.d.ts +51 -0
  176. package/dist/common/uri/baseUri.js +194 -0
  177. package/dist/common/uri/baseUri.js.map +1 -0
  178. package/dist/common/uri/emptyUri.d.ts +32 -0
  179. package/dist/common/uri/emptyUri.js +122 -0
  180. package/dist/common/uri/emptyUri.js.map +1 -0
  181. package/dist/common/uri/fileUri.d.ts +36 -0
  182. package/dist/common/uri/fileUri.js +180 -0
  183. package/dist/common/uri/fileUri.js.map +1 -0
  184. package/dist/common/uri/memoization.d.ts +3 -0
  185. package/dist/common/uri/memoization.js +72 -0
  186. package/dist/common/uri/memoization.js.map +1 -0
  187. package/dist/common/uri/uri.d.ts +50 -0
  188. package/dist/common/uri/uri.js +104 -0
  189. package/dist/common/uri/uri.js.map +1 -0
  190. package/dist/common/uri/uriUtils.d.ts +39 -0
  191. package/dist/common/uri/uriUtils.js +362 -0
  192. package/dist/common/uri/uriUtils.js.map +1 -0
  193. package/dist/common/uri/webUri.d.ts +36 -0
  194. package/dist/common/uri/webUri.js +207 -0
  195. package/dist/common/uri/webUri.js.map +1 -0
  196. package/dist/common/workspaceEditUtils.d.ts +8 -8
  197. package/dist/common/workspaceEditUtils.js +34 -37
  198. package/dist/common/workspaceEditUtils.js.map +1 -1
  199. package/dist/languageServerBase.d.ts +19 -22
  200. package/dist/languageServerBase.js +91 -95
  201. package/dist/languageServerBase.js.map +1 -1
  202. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
  203. package/dist/languageService/analyzerServiceExecutor.js +14 -16
  204. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  205. package/dist/languageService/autoImporter.d.ts +11 -9
  206. package/dist/languageService/autoImporter.js +45 -44
  207. package/dist/languageService/autoImporter.js.map +1 -1
  208. package/dist/languageService/callHierarchyProvider.d.ts +3 -2
  209. package/dist/languageService/callHierarchyProvider.js +23 -35
  210. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  211. package/dist/languageService/codeActionProvider.d.ts +2 -1
  212. package/dist/languageService/codeActionProvider.js +8 -24
  213. package/dist/languageService/codeActionProvider.js.map +1 -1
  214. package/dist/languageService/completionProvider.d.ts +7 -6
  215. package/dist/languageService/completionProvider.js +32 -30
  216. package/dist/languageService/completionProvider.js.map +1 -1
  217. package/dist/languageService/completionProviderUtils.d.ts +2 -1
  218. package/dist/languageService/completionProviderUtils.js +1 -1
  219. package/dist/languageService/completionProviderUtils.js.map +1 -1
  220. package/dist/languageService/definitionProvider.d.ts +4 -3
  221. package/dist/languageService/definitionProvider.js +26 -24
  222. package/dist/languageService/definitionProvider.js.map +1 -1
  223. package/dist/languageService/documentHighlightProvider.d.ts +3 -2
  224. package/dist/languageService/documentHighlightProvider.js +3 -3
  225. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  226. package/dist/languageService/documentSymbolCollector.js +8 -7
  227. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  228. package/dist/languageService/documentSymbolProvider.d.ts +5 -4
  229. package/dist/languageService/documentSymbolProvider.js +9 -11
  230. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  231. package/dist/languageService/hoverProvider.d.ts +4 -3
  232. package/dist/languageService/hoverProvider.js +6 -5
  233. package/dist/languageService/hoverProvider.js.map +1 -1
  234. package/dist/languageService/navigationUtils.d.ts +2 -1
  235. package/dist/languageService/navigationUtils.js +2 -3
  236. package/dist/languageService/navigationUtils.js.map +1 -1
  237. package/dist/languageService/quickActions.d.ts +2 -2
  238. package/dist/languageService/quickActions.js +3 -83
  239. package/dist/languageService/quickActions.js.map +1 -1
  240. package/dist/languageService/referencesProvider.d.ts +10 -9
  241. package/dist/languageService/referencesProvider.js +28 -28
  242. package/dist/languageService/referencesProvider.js.map +1 -1
  243. package/dist/languageService/renameProvider.d.ts +4 -3
  244. package/dist/languageService/renameProvider.js +17 -18
  245. package/dist/languageService/renameProvider.js.map +1 -1
  246. package/dist/languageService/signatureHelpProvider.d.ts +3 -2
  247. package/dist/languageService/signatureHelpProvider.js +4 -4
  248. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  249. package/dist/languageService/symbolIndexer.d.ts +2 -1
  250. package/dist/languageService/symbolIndexer.js +1 -1
  251. package/dist/languageService/symbolIndexer.js.map +1 -1
  252. package/dist/languageService/tooltipUtils.js +10 -4
  253. package/dist/languageService/tooltipUtils.js.map +1 -1
  254. package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
  255. package/dist/languageService/workspaceSymbolProvider.js +10 -11
  256. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  257. package/dist/localization/localize.d.ts +13 -9
  258. package/dist/localization/localize.js +7 -4
  259. package/dist/localization/localize.js.map +1 -1
  260. package/dist/localization/package.nls.cs.json +0 -4
  261. package/dist/localization/package.nls.de.json +0 -4
  262. package/dist/localization/package.nls.en-us.json +9 -6
  263. package/dist/localization/package.nls.es.json +2 -6
  264. package/dist/localization/package.nls.fr.json +0 -4
  265. package/dist/localization/package.nls.it.json +0 -4
  266. package/dist/localization/package.nls.ja.json +0 -4
  267. package/dist/localization/package.nls.ko.json +0 -4
  268. package/dist/localization/package.nls.pl.json +0 -4
  269. package/dist/localization/package.nls.pt-br.json +0 -4
  270. package/dist/localization/package.nls.qps-ploc.json +0 -4
  271. package/dist/localization/package.nls.ru.json +0 -4
  272. package/dist/localization/package.nls.tr.json +0 -4
  273. package/dist/localization/package.nls.zh-cn.json +0 -4
  274. package/dist/localization/package.nls.zh-tw.json +0 -4
  275. package/dist/pyright.js +18 -17
  276. package/dist/pyright.js.map +1 -1
  277. package/dist/pyrightFileSystem.d.ts +13 -13
  278. package/dist/pyrightFileSystem.js +39 -44
  279. package/dist/pyrightFileSystem.js.map +1 -1
  280. package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
  281. package/dist/readonlyAugmentedFileSystem.js +68 -61
  282. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  283. package/dist/server.js +22 -21
  284. package/dist/server.js.map +1 -1
  285. package/dist/tests/chainedSourceFiles.test.js +39 -30
  286. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  287. package/dist/tests/checker.test.js +38 -29
  288. package/dist/tests/checker.test.js.map +1 -1
  289. package/dist/tests/completions.test.js +7 -3
  290. package/dist/tests/completions.test.js.map +1 -1
  291. package/dist/tests/config.test.js +24 -22
  292. package/dist/tests/config.test.js.map +1 -1
  293. package/dist/tests/documentSymbolCollector.test.js +3 -2
  294. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  295. package/dist/tests/filesystem.test.js +37 -35
  296. package/dist/tests/filesystem.test.js.map +1 -1
  297. package/dist/tests/fourSlashParser.test.js +4 -4
  298. package/dist/tests/fourSlashParser.test.js.map +1 -1
  299. package/dist/tests/fourslash/fourslash.d.ts +1 -2
  300. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
  301. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  302. package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
  303. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  304. package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
  305. package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
  306. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  307. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -2
  308. package/dist/tests/harness/fourslash/testState.Consts.js +0 -1
  309. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  310. package/dist/tests/harness/fourslash/testState.d.ts +4 -4
  311. package/dist/tests/harness/fourslash/testState.js +92 -52
  312. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  313. package/dist/tests/harness/testAccessHost.d.ts +3 -2
  314. package/dist/tests/harness/testAccessHost.js +2 -1
  315. package/dist/tests/harness/testAccessHost.js.map +1 -1
  316. package/dist/tests/harness/testHost.js +13 -11
  317. package/dist/tests/harness/testHost.js.map +1 -1
  318. package/dist/tests/harness/vfs/factory.d.ts +3 -2
  319. package/dist/tests/harness/vfs/factory.js +5 -4
  320. package/dist/tests/harness/vfs/factory.js.map +1 -1
  321. package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
  322. package/dist/tests/harness/vfs/filesystem.js +47 -49
  323. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  324. package/dist/tests/harness/vfs/pathValidation.js +1 -10
  325. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  326. package/dist/tests/importResolver.test.js +81 -58
  327. package/dist/tests/importResolver.test.js.map +1 -1
  328. package/dist/tests/importStatementUtils.test.js +10 -9
  329. package/dist/tests/importStatementUtils.test.js.map +1 -1
  330. package/dist/tests/ipythonMode.test.js +12 -11
  331. package/dist/tests/ipythonMode.test.js.map +1 -1
  332. package/dist/tests/logger.test.js +2 -1
  333. package/dist/tests/logger.test.js.map +1 -1
  334. package/dist/tests/parseTreeUtils.test.js +2 -1
  335. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  336. package/dist/tests/pathUtils.test.js +3 -138
  337. package/dist/tests/pathUtils.test.js.map +1 -1
  338. package/dist/tests/pyrightFileSystem.test.js +76 -25
  339. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  340. package/dist/tests/service.test.js +37 -42
  341. package/dist/tests/service.test.js.map +1 -1
  342. package/dist/tests/signatureHelp.test.js +3 -2
  343. package/dist/tests/signatureHelp.test.js.map +1 -1
  344. package/dist/tests/sourceFile.test.js +8 -7
  345. package/dist/tests/sourceFile.test.js.map +1 -1
  346. package/dist/tests/sourceMapperUtils.test.js +13 -6
  347. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  348. package/dist/tests/testState.test.js +13 -9
  349. package/dist/tests/testState.test.js.map +1 -1
  350. package/dist/tests/testStateUtils.d.ts +2 -5
  351. package/dist/tests/testStateUtils.js +27 -64
  352. package/dist/tests/testStateUtils.js.map +1 -1
  353. package/dist/tests/testUtils.d.ts +3 -5
  354. package/dist/tests/testUtils.js +15 -64
  355. package/dist/tests/testUtils.js.map +1 -1
  356. package/dist/tests/textEditUtil.test.js +4 -3
  357. package/dist/tests/textEditUtil.test.js.map +1 -1
  358. package/dist/tests/typeEvaluator1.test.js +23 -19
  359. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  360. package/dist/tests/typeEvaluator2.test.js +21 -12
  361. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  362. package/dist/tests/typeEvaluator3.test.js +84 -70
  363. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  364. package/dist/tests/typeEvaluator4.test.js +26 -21
  365. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  366. package/dist/tests/typeEvaluator5.test.js +36 -31
  367. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  368. package/dist/tests/typePrinter.test.js +4 -3
  369. package/dist/tests/typePrinter.test.js.map +1 -1
  370. package/dist/tests/uri.test.d.ts +1 -0
  371. package/dist/tests/uri.test.js +695 -0
  372. package/dist/tests/uri.test.js.map +1 -0
  373. package/dist/tests/workspaceEditUtils.test.js +28 -28
  374. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  375. package/dist/tests/zipfs.test.js +11 -11
  376. package/dist/tests/zipfs.test.js.map +1 -1
  377. package/dist/workspaceFactory.d.ts +13 -14
  378. package/dist/workspaceFactory.js +54 -55
  379. package/dist/workspaceFactory.js.map +1 -1
  380. package/package.json +2 -2
  381. package/dist/common/uriParser.d.ts +0 -24
  382. package/dist/common/uriParser.js +0 -45
  383. package/dist/common/uriParser.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,9 @@ function verifyNoCyclesInChainedFiles(program, fileInfo) {
33
33
  if (!nextChainedFile) {
34
34
  return;
35
35
  }
36
- const set = new Set([fileInfo.sourceFile.getFilePath()]);
36
+ const set = new Set([fileInfo.sourceFile.getUri().key]);
37
37
  while (nextChainedFile) {
38
- const path = nextChainedFile.sourceFile.getFilePath();
38
+ const path = nextChainedFile.sourceFile.getUri().key;
39
39
  if (set.has(path)) {
40
40
  // We found a cycle.
41
41
  (0, debug_1.fail)((_b = (_a = program.serviceProvider
@@ -77,7 +77,7 @@ function _parseAllOpenCells(program) {
77
77
  if (file.sourceFile.getIPythonMode() !== sourceFile_1.IPythonMode.CellDocs) {
78
78
  continue;
79
79
  }
80
- program.getParseResults(file.sourceFile.getFilePath());
80
+ program.getParseResults(file.sourceFile.getUri());
81
81
  program.handleMemoryHighUsage();
82
82
  }
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sourceFileInfoUtils.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFileInfoUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceFileInfoUtils.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFileInfoUtils.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { CancellationToken } from 'vscode-jsonrpc';
2
2
  import { ExecutionEnvironment } from '../common/configOptions';
3
+ import { Uri } from '../common/uri/uri';
3
4
  import { ModuleNode } from '../parser/parseNodes';
4
5
  import { ClassDeclaration, Declaration, FunctionDeclaration } from './declaration';
5
6
  import { ImportResolver } from './importResolver';
6
- import { SourceFileInfo } from './sourceFileInfo';
7
7
  import { SourceFile } from './sourceFile';
8
+ import { SourceFileInfo } from './sourceFileInfo';
8
9
  import { TypeEvaluator } from './typeEvaluatorTypes';
9
10
  import { ClassType } from './types';
10
- export type ShadowFileBinder = (stubFilePath: string, implFilePath: string) => SourceFile | undefined;
11
- export type BoundSourceGetter = (filePath: string) => SourceFileInfo | undefined;
11
+ export type ShadowFileBinder = (stubFileUri: Uri, implFileUri: Uri) => SourceFile | undefined;
12
+ export type BoundSourceGetter = (fileUri: Uri) => SourceFileInfo | undefined;
12
13
  export declare class SourceMapper {
13
14
  private _importResolver;
14
15
  private _execEnv;
@@ -20,14 +21,14 @@ export declare class SourceMapper {
20
21
  private _fromFile;
21
22
  private _cancelToken;
22
23
  constructor(_importResolver: ImportResolver, _execEnv: ExecutionEnvironment, _evaluator: TypeEvaluator, _fileBinder: ShadowFileBinder, _boundSourceGetter: BoundSourceGetter, _mapCompiled: boolean, _preferStubs: boolean, _fromFile: SourceFileInfo | undefined, _cancelToken: CancellationToken);
23
- findModules(stubFilePath: string): ModuleNode[];
24
- getModuleNode(filePath: string): ModuleNode | undefined;
24
+ findModules(stubFileUri: Uri): ModuleNode[];
25
+ getModuleNode(fileUri: Uri): ModuleNode | undefined;
25
26
  findDeclarations(stubDecl: Declaration): Declaration[];
26
- findDeclarationsByType(originatedPath: string, type: ClassType, useTypeAlias?: boolean): Declaration[];
27
- findClassDeclarationsByType(originatedPath: string, type: ClassType): ClassDeclaration[];
27
+ findDeclarationsByType(originatedPath: Uri, type: ClassType, useTypeAlias?: boolean): Declaration[];
28
+ findClassDeclarationsByType(originatedPath: Uri, type: ClassType): ClassDeclaration[];
28
29
  findFunctionDeclarations(stubDecl: FunctionDeclaration): FunctionDeclaration[];
29
- isUserCode(path: string): boolean;
30
- getNextFileName(path: string): string;
30
+ isUserCode(uri: Uri): boolean;
31
+ getNextFileName(uri: Uri): Uri;
31
32
  private _findSpecialBuiltInClassDeclarations;
32
33
  private _findClassOrTypeAliasDeclarations;
33
34
  private _findFunctionOrTypeAliasDeclarations;
@@ -53,4 +54,4 @@ export declare class SourceMapper {
53
54
  private _getStubFileImportTree;
54
55
  private _isStubThatShouldBeMappedToImplementation;
55
56
  }
56
- export declare function isStubFile(filePath: string): boolean;
57
+ export declare function isStubFile(uri: Uri): boolean;
@@ -36,12 +36,11 @@ const ParseTreeUtils = __importStar(require("../analyzer/parseTreeUtils"));
36
36
  const collectionUtils_1 = require("../common/collectionUtils");
37
37
  const core_1 = require("../common/core");
38
38
  const debug_1 = require("../common/debug");
39
- const pathUtils_1 = require("../common/pathUtils");
40
39
  const declaration_1 = require("./declaration");
41
40
  const sourceFileInfoUtils_1 = require("./sourceFileInfoUtils");
42
41
  const sourceMapperUtils_1 = require("./sourceMapperUtils");
43
- const types_1 = require("./types");
44
42
  const typeUtils_1 = require("./typeUtils");
43
+ const types_1 = require("./types");
45
44
  class SourceMapper {
46
45
  constructor(_importResolver, _execEnv, _evaluator, _fileBinder, _boundSourceGetter, _mapCompiled, _preferStubs, _fromFile, _cancelToken) {
47
46
  this._importResolver = _importResolver;
@@ -54,19 +53,19 @@ class SourceMapper {
54
53
  this._fromFile = _fromFile;
55
54
  this._cancelToken = _cancelToken;
56
55
  }
57
- findModules(stubFilePath) {
56
+ findModules(stubFileUri) {
58
57
  var _a;
59
- const sourceFiles = this._isStubThatShouldBeMappedToImplementation(stubFilePath)
60
- ? this._getBoundSourceFilesFromStubFile(stubFilePath)
61
- : [(_a = this._boundSourceGetter(stubFilePath)) === null || _a === void 0 ? void 0 : _a.sourceFile];
58
+ const sourceFiles = this._isStubThatShouldBeMappedToImplementation(stubFileUri)
59
+ ? this._getBoundSourceFilesFromStubFile(stubFileUri)
60
+ : [(_a = this._boundSourceGetter(stubFileUri)) === null || _a === void 0 ? void 0 : _a.sourceFile];
62
61
  return sourceFiles
63
62
  .filter(core_1.isDefined)
64
63
  .map((sf) => { var _a; return (_a = sf.getParseResults()) === null || _a === void 0 ? void 0 : _a.parseTree; })
65
64
  .filter(core_1.isDefined);
66
65
  }
67
- getModuleNode(filePath) {
66
+ getModuleNode(fileUri) {
68
67
  var _a, _b;
69
- return (_b = (_a = this._boundSourceGetter(filePath)) === null || _a === void 0 ? void 0 : _a.sourceFile.getParseResults()) === null || _b === void 0 ? void 0 : _b.parseTree;
68
+ return (_b = (_a = this._boundSourceGetter(fileUri)) === null || _a === void 0 ? void 0 : _a.sourceFile.getParseResults()) === null || _b === void 0 ? void 0 : _b.parseTree;
70
69
  }
71
70
  findDeclarations(stubDecl) {
72
71
  if ((0, declaration_1.isClassDeclaration)(stubDecl)) {
@@ -100,35 +99,35 @@ class SourceMapper {
100
99
  .filter((d) => (0, declaration_1.isFunctionDeclaration)(d))
101
100
  .map((d) => d);
102
101
  }
103
- isUserCode(path) {
104
- return (0, sourceFileInfoUtils_1.isUserCode)(this._boundSourceGetter(path));
102
+ isUserCode(uri) {
103
+ return (0, sourceFileInfoUtils_1.isUserCode)(this._boundSourceGetter(uri));
105
104
  }
106
- getNextFileName(path) {
107
- const withoutExtension = (0, pathUtils_1.stripFileExtension)(path);
105
+ getNextFileName(uri) {
106
+ const withoutExtension = uri.stripExtension();
108
107
  let suffix = 1;
109
- let result = `${withoutExtension}_${suffix}.py`;
108
+ let result = withoutExtension.addExtension(`_${suffix}.py`);
110
109
  while (this.isUserCode(result) && suffix < 1000) {
111
110
  suffix += 1;
112
- result = `${withoutExtension}_${suffix}.py`;
111
+ result = withoutExtension.addExtension(`_${suffix}.py`);
113
112
  }
114
113
  return result;
115
114
  }
116
115
  _findSpecialBuiltInClassDeclarations(stubDecl, recursiveDeclCache = new Set()) {
117
116
  if (stubDecl.node.valueExpression.nodeType === 38 /* ParseNodeType.Name */) {
118
117
  const className = stubDecl.node.valueExpression.value;
119
- const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.path);
118
+ const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.uri);
120
119
  return sourceFiles.flatMap((sourceFile) => this._findClassDeclarationsByName(sourceFile, className, recursiveDeclCache));
121
120
  }
122
121
  return [];
123
122
  }
124
123
  _findClassOrTypeAliasDeclarations(stubDecl, recursiveDeclCache = new Set()) {
125
124
  const className = this._getFullClassName(stubDecl.node);
126
- const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.path);
125
+ const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.uri);
127
126
  return sourceFiles.flatMap((sourceFile) => this._findClassDeclarationsByName(sourceFile, className, recursiveDeclCache));
128
127
  }
129
128
  _findFunctionOrTypeAliasDeclarations(stubDecl, recursiveDeclCache = new Set()) {
130
129
  const functionName = stubDecl.node.name.value;
131
- const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.path);
130
+ const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.uri);
132
131
  if (stubDecl.isMethod) {
133
132
  const classNode = ParseTreeUtils.getEnclosingClass(stubDecl.node);
134
133
  if (classNode === undefined) {
@@ -146,7 +145,7 @@ class SourceMapper {
146
145
  return [];
147
146
  }
148
147
  const variableName = stubDecl.node.value;
149
- const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.path);
148
+ const sourceFiles = this._getBoundSourceFilesFromStubFile(stubDecl.uri);
150
149
  const classNode = ParseTreeUtils.getEnclosingClass(stubDecl.node);
151
150
  if (classNode) {
152
151
  const className = this._getFullClassName(classNode);
@@ -198,14 +197,14 @@ class SourceMapper {
198
197
  }
199
198
  _findFieldDeclarationsByName(sourceFile, className, variableName, recursiveDeclCache) {
200
199
  let result = [];
201
- const uniqueId = `@${sourceFile.getFilePath()}/c/${className}/v/${variableName}`;
200
+ const uniqueId = `@${sourceFile.getUri()}/c/${className}/v/${variableName}`;
202
201
  if (recursiveDeclCache.has(uniqueId)) {
203
202
  return result;
204
203
  }
205
204
  recursiveDeclCache.add(uniqueId);
206
205
  result = this._findMemberDeclarationsByName(sourceFile, className, variableName, (decl, cache, result) => {
207
206
  if ((0, declaration_1.isVariableDeclaration)(decl)) {
208
- if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
207
+ if (this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
209
208
  for (const implDecl of this._findVariableDeclarations(decl, cache)) {
210
209
  if ((0, declaration_1.isVariableDeclaration)(implDecl)) {
211
210
  result.push(implDecl);
@@ -222,14 +221,14 @@ class SourceMapper {
222
221
  }
223
222
  _findMethodDeclarationsByName(sourceFile, className, functionName, recursiveDeclCache) {
224
223
  let result = [];
225
- const uniqueId = `@${sourceFile.getFilePath()}/c/${className}/f/${functionName}`;
224
+ const uniqueId = `@${sourceFile.getUri()}/c/${className}/f/${functionName}`;
226
225
  if (recursiveDeclCache.has(uniqueId)) {
227
226
  return result;
228
227
  }
229
228
  recursiveDeclCache.add(uniqueId);
230
229
  result = this._findMemberDeclarationsByName(sourceFile, className, functionName, (decl, cache, result) => {
231
230
  if ((0, declaration_1.isFunctionDeclaration)(decl)) {
232
- if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
231
+ if (this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
233
232
  (0, collectionUtils_1.appendArray)(result, this._findFunctionOrTypeAliasDeclarations(decl, cache));
234
233
  }
235
234
  else {
@@ -243,7 +242,7 @@ class SourceMapper {
243
242
  _findVariableDeclarationsByName(sourceFile, variableName, recursiveDeclCache) {
244
243
  var _a;
245
244
  const result = [];
246
- const uniqueId = `@${sourceFile.getFilePath()}/v/${variableName}`;
245
+ const uniqueId = `@${sourceFile.getUri()}/v/${variableName}`;
247
246
  if (recursiveDeclCache.has(uniqueId)) {
248
247
  return result;
249
248
  }
@@ -269,7 +268,7 @@ class SourceMapper {
269
268
  _findFunctionDeclarationsByName(sourceFile, functionName, recursiveDeclCache) {
270
269
  var _a;
271
270
  const result = [];
272
- const uniqueId = `@${sourceFile.getFilePath()}/f/${functionName}`;
271
+ const uniqueId = `@${sourceFile.getUri()}/f/${functionName}`;
273
272
  if (recursiveDeclCache.has(uniqueId)) {
274
273
  return result;
275
274
  }
@@ -311,7 +310,7 @@ class SourceMapper {
311
310
  }
312
311
  _findClassDeclarations(sourceFile, className, parentNode, recursiveDeclCache) {
313
312
  const result = [];
314
- const uniqueId = `@${sourceFile.getFilePath()}[${parentNode.start}]${className}`;
313
+ const uniqueId = `@${sourceFile.getUri()}[${parentNode.start}]${className}`;
315
314
  if (recursiveDeclCache.has(uniqueId)) {
316
315
  return result;
317
316
  }
@@ -330,7 +329,7 @@ class SourceMapper {
330
329
  }
331
330
  _addVariableDeclarations(decl, result, recursiveDeclCache) {
332
331
  if ((0, declaration_1.isVariableDeclaration)(decl)) {
333
- if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
332
+ if (this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
334
333
  (0, collectionUtils_1.appendArray)(result, this._findVariableDeclarations(decl, recursiveDeclCache));
335
334
  }
336
335
  else {
@@ -352,7 +351,7 @@ class SourceMapper {
352
351
  _addClassOrFunctionDeclarations(decl, result, recursiveDeclCache) {
353
352
  var _a;
354
353
  if ((0, declaration_1.isClassDeclaration)(decl)) {
355
- if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
354
+ if (this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
356
355
  (0, collectionUtils_1.appendArray)(result, this._findClassOrTypeAliasDeclarations(decl, recursiveDeclCache));
357
356
  }
358
357
  else {
@@ -363,7 +362,7 @@ class SourceMapper {
363
362
  result.push(decl);
364
363
  }
365
364
  else if ((0, declaration_1.isFunctionDeclaration)(decl)) {
366
- if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
365
+ if (this._isStubThatShouldBeMappedToImplementation(decl.uri)) {
367
366
  (0, collectionUtils_1.appendArray)(result, this._findFunctionOrTypeAliasDeclarations(decl, recursiveDeclCache));
368
367
  }
369
368
  else {
@@ -396,7 +395,7 @@ class SourceMapper {
396
395
  }
397
396
  }
398
397
  else if ((0, types_1.isInstantiableClass)(type)) {
399
- this._addClassTypeDeclarations(decl.path, type, result, recursiveDeclCache);
398
+ this._addClassTypeDeclarations(decl.uri, type, result, recursiveDeclCache);
400
399
  }
401
400
  }
402
401
  }
@@ -411,7 +410,7 @@ class SourceMapper {
411
410
  // and second, clone the given decl and set path to the generated pyi for the
412
411
  // builtin module (ex, _io) to make resolveAliasDeclaration to work.
413
412
  // once the path is set, our regular code path will work as expected.
414
- if (decl.path || !decl.node) {
413
+ if (!decl.uri.isEmpty() || !decl.node) {
415
414
  // If module actually exists, nothing we need to do.
416
415
  return decl;
417
416
  }
@@ -429,15 +428,15 @@ class SourceMapper {
429
428
  }
430
429
  // ImportResolver might be able to generate or extract builtin module's info
431
430
  // from runtime if we provide right synthesized stub path.
432
- const fakeStubPath = (0, pathUtils_1.combinePaths)(stdLibPath, getModuleName()
431
+ const fakeStubPath = stdLibPath.combinePaths(getModuleName()
433
432
  .nameParts.map((n) => n.value)
434
433
  .join('.') + '.pyi');
435
- const sources = this._getSourceFiles(fakeStubPath, fileInfo.filePath);
434
+ const sources = this._getSourceFiles(fakeStubPath, fileInfo.fileUri);
436
435
  if (sources.length === 0) {
437
436
  return decl;
438
437
  }
439
438
  const synthesizedDecl = { ...decl };
440
- synthesizedDecl.path = sources[0].getFilePath();
439
+ synthesizedDecl.uri = sources[0].getUri();
441
440
  return synthesizedDecl;
442
441
  function getModuleName() {
443
442
  switch (decl.node.nodeType) {
@@ -453,21 +452,21 @@ class SourceMapper {
453
452
  }
454
453
  }
455
454
  _addClassTypeDeclarations(originated, type, result, recursiveDeclCache, useTypeAlias = false) {
456
- const filePath = type.details.filePath;
457
- const sourceFiles = this._getSourceFiles(filePath, /* stubToShadow */ undefined, originated);
455
+ const fileUri = type.details.fileUri;
456
+ const sourceFiles = this._getSourceFiles(fileUri, /* stubToShadow */ undefined, originated);
458
457
  const fullName = useTypeAlias && type.typeAliasInfo ? type.typeAliasInfo.fullName : type.details.fullName;
459
458
  const fullClassName = fullName.substring(type.details.moduleName.length + 1 /* +1 for trailing dot */);
460
459
  for (const sourceFile of sourceFiles) {
461
460
  (0, collectionUtils_1.appendArray)(result, this._findClassDeclarationsByName(sourceFile, fullClassName, recursiveDeclCache));
462
461
  }
463
462
  }
464
- _getSourceFiles(filePath, stubToShadow, originated) {
463
+ _getSourceFiles(fileUri, stubToShadow, originated) {
465
464
  const sourceFiles = [];
466
- if (this._isStubThatShouldBeMappedToImplementation(filePath)) {
467
- (0, collectionUtils_1.appendArray)(sourceFiles, this._getBoundSourceFilesFromStubFile(filePath, stubToShadow, originated));
465
+ if (this._isStubThatShouldBeMappedToImplementation(fileUri)) {
466
+ (0, collectionUtils_1.appendArray)(sourceFiles, this._getBoundSourceFilesFromStubFile(fileUri, stubToShadow, originated));
468
467
  }
469
468
  else {
470
- const sourceFileInfo = this._boundSourceGetter(filePath);
469
+ const sourceFileInfo = this._boundSourceGetter(fileUri);
471
470
  if (sourceFileInfo) {
472
471
  sourceFiles.push(sourceFileInfo.sourceFile);
473
472
  }
@@ -486,12 +485,12 @@ class SourceMapper {
486
485
  for (const symbol of table.values()) {
487
486
  for (const decl of symbol.getDeclarations()) {
488
487
  if (!(0, declaration_1.isAliasDeclaration)(decl) ||
489
- !decl.path ||
488
+ decl.uri.isEmpty() ||
490
489
  decl.node.nodeType !== 22 /* ParseNodeType.ImportFrom */ ||
491
490
  !decl.node.isWildcardImport) {
492
491
  continue;
493
492
  }
494
- const uniqueId = `@${decl.path}/l/${symbolName}`;
493
+ const uniqueId = `@${decl.uri.key}/l/${symbolName}`;
495
494
  if (recursiveDeclCache.has(uniqueId)) {
496
495
  continue;
497
496
  }
@@ -504,7 +503,7 @@ class SourceMapper {
504
503
  // seen in this function. This is safe because the ID here is unique to this
505
504
  // function.
506
505
  recursiveDeclCache.add(uniqueId);
507
- const sourceFiles = this._getSourceFiles(decl.path);
506
+ const sourceFiles = this._getSourceFiles(decl.uri);
508
507
  for (const sourceFile of sourceFiles) {
509
508
  const moduleNode = (_b = sourceFile.getParseResults()) === null || _b === void 0 ? void 0 : _b.parseTree;
510
509
  if (!moduleNode) {
@@ -551,20 +550,20 @@ class SourceMapper {
551
550
  }
552
551
  return fullName.reverse().join('.');
553
552
  }
554
- _getBoundSourceFilesFromStubFile(stubFilePath, stubToShadow, originated) {
553
+ _getBoundSourceFilesFromStubFile(stubFileUri, stubToShadow, originated) {
555
554
  var _a;
556
- const paths = this._getSourcePathsFromStub(stubFilePath, originated !== null && originated !== void 0 ? originated : (_a = this._fromFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getFilePath());
557
- return paths.map((fp) => this._fileBinder(stubToShadow !== null && stubToShadow !== void 0 ? stubToShadow : stubFilePath, fp)).filter(core_1.isDefined);
555
+ const paths = this._getSourcePathsFromStub(stubFileUri, originated !== null && originated !== void 0 ? originated : (_a = this._fromFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getUri());
556
+ return paths.map((fp) => this._fileBinder(stubToShadow !== null && stubToShadow !== void 0 ? stubToShadow : stubFileUri, fp)).filter(core_1.isDefined);
558
557
  }
559
- _getSourcePathsFromStub(stubFilePath, fromFile) {
560
- // Attempt our stubFilePath to see if we can resolve it as a source file path
561
- let results = this._importResolver.getSourceFilesFromStub(stubFilePath, this._execEnv, this._mapCompiled);
558
+ _getSourcePathsFromStub(stubFileUri, fromFile) {
559
+ // Attempt our stubFileUri to see if we can resolve it as a source file path
560
+ let results = this._importResolver.getSourceFilesFromStub(stubFileUri, this._execEnv, this._mapCompiled);
562
561
  if (results.length > 0) {
563
562
  return results;
564
563
  }
565
564
  // If that didn't work, try looking through the graph up to our fromFile.
566
565
  // One of them should be able to resolve to an actual file.
567
- const stubFileImportTree = this._getStubFileImportTree(stubFilePath, fromFile);
566
+ const stubFileImportTree = this._getStubFileImportTree(stubFileUri, fromFile);
568
567
  // Go through the items in this tree until we find at least one path.
569
568
  for (let i = 0; i < stubFileImportTree.length; i++) {
570
569
  results = this._importResolver.getSourceFilesFromStub(stubFileImportTree[i], this._execEnv, this._mapCompiled);
@@ -574,38 +573,36 @@ class SourceMapper {
574
573
  }
575
574
  return [];
576
575
  }
577
- _getStubFileImportTree(stubFilePath, fromFile) {
578
- if (!fromFile || !this._isStubThatShouldBeMappedToImplementation(stubFilePath)) {
576
+ _getStubFileImportTree(stubFileUri, fromFile) {
577
+ if (!fromFile || !this._isStubThatShouldBeMappedToImplementation(stubFileUri)) {
579
578
  // No path to search, just return the starting point.
580
- return [stubFilePath];
579
+ return [stubFileUri];
581
580
  }
582
581
  else {
583
582
  // Otherwise recurse through the importedBy list up to our 'fromFile'.
584
- return (0, sourceMapperUtils_1.buildImportTree)(fromFile, stubFilePath, (p) => {
583
+ return (0, sourceMapperUtils_1.buildImportTree)(fromFile, stubFileUri, (p) => {
585
584
  const boundSourceInfo = this._boundSourceGetter(p);
586
- return boundSourceInfo
587
- ? boundSourceInfo.importedBy.map((info) => info.sourceFile.getFilePath())
588
- : [];
585
+ return boundSourceInfo ? boundSourceInfo.importedBy.map((info) => info.sourceFile.getUri()) : [];
589
586
  }, this._cancelToken).filter((p) => this._isStubThatShouldBeMappedToImplementation(p));
590
587
  }
591
588
  }
592
- _isStubThatShouldBeMappedToImplementation(filePath) {
589
+ _isStubThatShouldBeMappedToImplementation(fileUri) {
593
590
  if (this._preferStubs) {
594
591
  return false;
595
592
  }
596
- const stub = isStubFile(filePath);
593
+ const stub = isStubFile(fileUri);
597
594
  if (!stub) {
598
595
  return false;
599
596
  }
600
597
  // If we get the same file as a source file, then we treat the file as a regular file even if it has "pyi" extension.
601
598
  return this._importResolver
602
- .getSourceFilesFromStub(filePath, this._execEnv, this._mapCompiled)
603
- .every((f) => f !== filePath);
599
+ .getSourceFilesFromStub(fileUri, this._execEnv, this._mapCompiled)
600
+ .every((f) => f !== fileUri);
604
601
  }
605
602
  }
606
603
  exports.SourceMapper = SourceMapper;
607
- function isStubFile(filePath) {
608
- return (0, pathUtils_1.getAnyExtensionFromPath)(filePath, ['.pyi'], /* ignoreCase */ false) === '.pyi';
604
+ function isStubFile(uri) {
605
+ return uri.lastExtension === '.pyi';
609
606
  }
610
607
  exports.isStubFile = isStubFile;
611
608
  //# sourceMappingURL=sourceMapper.js.map