@zzzen/pyright-internal 1.2.0-dev.20231203 → 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 (345) 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 +56 -52
  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 +29 -36
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/constraintSolver.js +3 -5
  15. package/dist/analyzer/constraintSolver.js.map +1 -1
  16. package/dist/analyzer/dataClasses.js +1 -1
  17. package/dist/analyzer/dataClasses.js.map +1 -1
  18. package/dist/analyzer/declaration.d.ts +5 -3
  19. package/dist/analyzer/declaration.js +3 -2
  20. package/dist/analyzer/declaration.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +3 -2
  22. package/dist/analyzer/declarationUtils.js +14 -12
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/enums.js +1 -1
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/importResolver.d.ts +29 -25
  27. package/dist/analyzer/importResolver.js +300 -301
  28. package/dist/analyzer/importResolver.js.map +1 -1
  29. package/dist/analyzer/importResult.d.ts +5 -4
  30. package/dist/analyzer/importResult.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.d.ts +5 -4
  32. package/dist/analyzer/importStatementUtils.js +23 -22
  33. package/dist/analyzer/importStatementUtils.js.map +1 -1
  34. package/dist/analyzer/namedTuples.js +3 -3
  35. package/dist/analyzer/namedTuples.js.map +1 -1
  36. package/dist/analyzer/packageTypeReport.d.ts +7 -6
  37. package/dist/analyzer/packageTypeReport.js +4 -4
  38. package/dist/analyzer/packageTypeReport.js.map +1 -1
  39. package/dist/analyzer/packageTypeVerifier.js +68 -64
  40. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  41. package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
  42. package/dist/analyzer/parentDirectoryCache.js +9 -10
  43. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  44. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  45. package/dist/analyzer/parseTreeUtils.js +6 -3
  46. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  47. package/dist/analyzer/patternMatching.js +79 -14
  48. package/dist/analyzer/patternMatching.js.map +1 -1
  49. package/dist/analyzer/program.d.ts +27 -26
  50. package/dist/analyzer/program.js +162 -156
  51. package/dist/analyzer/program.js.map +1 -1
  52. package/dist/analyzer/properties.js +3 -3
  53. package/dist/analyzer/properties.js.map +1 -1
  54. package/dist/analyzer/pyTypedUtils.d.ts +3 -2
  55. package/dist/analyzer/pyTypedUtils.js +4 -5
  56. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  57. package/dist/analyzer/pythonPathUtils.d.ts +7 -6
  58. package/dist/analyzer/pythonPathUtils.js +21 -23
  59. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  60. package/dist/analyzer/service.d.ts +24 -23
  61. package/dist/analyzer/service.js +187 -183
  62. package/dist/analyzer/service.js.map +1 -1
  63. package/dist/analyzer/sourceFile.d.ts +4 -5
  64. package/dist/analyzer/sourceFile.js +68 -56
  65. package/dist/analyzer/sourceFile.js.map +1 -1
  66. package/dist/analyzer/sourceFileInfoUtils.js +3 -3
  67. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  68. package/dist/analyzer/sourceMapper.d.ts +11 -10
  69. package/dist/analyzer/sourceMapper.js +59 -62
  70. package/dist/analyzer/sourceMapper.js.map +1 -1
  71. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  72. package/dist/analyzer/sourceMapperUtils.js +2 -2
  73. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  74. package/dist/analyzer/tracePrinter.d.ts +3 -2
  75. package/dist/analyzer/tracePrinter.js +21 -23
  76. package/dist/analyzer/tracePrinter.js.map +1 -1
  77. package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
  78. package/dist/analyzer/typeDocStringUtils.js +14 -17
  79. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  80. package/dist/analyzer/typeEvaluator.js +172 -102
  81. package/dist/analyzer/typeEvaluator.js.map +1 -1
  82. package/dist/analyzer/typeGuards.js +3 -3
  83. package/dist/analyzer/typeGuards.js.map +1 -1
  84. package/dist/analyzer/typePrinter.d.ts +2 -0
  85. package/dist/analyzer/typePrinter.js +48 -8
  86. package/dist/analyzer/typePrinter.js.map +1 -1
  87. package/dist/analyzer/typeStubWriter.d.ts +2 -1
  88. package/dist/analyzer/typeStubWriter.js +2 -2
  89. package/dist/analyzer/typeStubWriter.js.map +1 -1
  90. package/dist/analyzer/typeUtils.d.ts +4 -2
  91. package/dist/analyzer/typeUtils.js +16 -5
  92. package/dist/analyzer/typeUtils.js.map +1 -1
  93. package/dist/analyzer/typedDicts.js +4 -4
  94. package/dist/analyzer/typedDicts.js.map +1 -1
  95. package/dist/analyzer/types.d.ts +5 -4
  96. package/dist/analyzer/types.js +4 -4
  97. package/dist/analyzer/types.js.map +1 -1
  98. package/dist/backgroundAnalysis.d.ts +1 -2
  99. package/dist/backgroundAnalysis.js +6 -4
  100. package/dist/backgroundAnalysis.js.map +1 -1
  101. package/dist/backgroundAnalysisBase.d.ts +22 -20
  102. package/dist/backgroundAnalysisBase.js +76 -55
  103. package/dist/backgroundAnalysisBase.js.map +1 -1
  104. package/dist/backgroundThreadBase.d.ts +1 -1
  105. package/dist/backgroundThreadBase.js +20 -11
  106. package/dist/backgroundThreadBase.js.map +1 -1
  107. package/dist/commands/createTypeStub.js +3 -2
  108. package/dist/commands/createTypeStub.js.map +1 -1
  109. package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
  110. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  111. package/dist/commands/quickActionCommand.js +5 -5
  112. package/dist/commands/quickActionCommand.js.map +1 -1
  113. package/dist/common/configOptions.d.ts +14 -13
  114. package/dist/common/configOptions.js +29 -27
  115. package/dist/common/configOptions.js.map +1 -1
  116. package/dist/common/diagnostic.d.ts +6 -5
  117. package/dist/common/diagnostic.js +2 -2
  118. package/dist/common/diagnostic.js.map +1 -1
  119. package/dist/common/diagnosticSink.d.ts +2 -1
  120. package/dist/common/diagnosticSink.js.map +1 -1
  121. package/dist/common/editAction.d.ts +6 -5
  122. package/dist/common/editAction.js +2 -2
  123. package/dist/common/editAction.js.map +1 -1
  124. package/dist/common/envVarUtils.d.ts +2 -1
  125. package/dist/common/envVarUtils.js +20 -28
  126. package/dist/common/envVarUtils.js.map +1 -1
  127. package/dist/common/extensibility.d.ts +19 -19
  128. package/dist/common/extensibility.js.map +1 -1
  129. package/dist/common/fileSystem.d.ts +29 -28
  130. package/dist/common/fileWatcher.d.ts +3 -2
  131. package/dist/common/fileWatcher.js.map +1 -1
  132. package/dist/common/fullAccessHost.d.ts +8 -7
  133. package/dist/common/fullAccessHost.js +21 -16
  134. package/dist/common/fullAccessHost.js.map +1 -1
  135. package/dist/common/host.d.ts +7 -6
  136. package/dist/common/host.js +1 -1
  137. package/dist/common/host.js.map +1 -1
  138. package/dist/common/logTracker.d.ts +2 -1
  139. package/dist/common/logTracker.js +4 -4
  140. package/dist/common/logTracker.js.map +1 -1
  141. package/dist/common/pathUtils.d.ts +1 -28
  142. package/dist/common/pathUtils.js +17 -366
  143. package/dist/common/pathUtils.js.map +1 -1
  144. package/dist/common/realFileSystem.d.ts +7 -3
  145. package/dist/common/realFileSystem.js +78 -60
  146. package/dist/common/realFileSystem.js.map +1 -1
  147. package/dist/common/serviceProviderExtensions.d.ts +2 -1
  148. package/dist/common/serviceProviderExtensions.js +5 -2
  149. package/dist/common/serviceProviderExtensions.js.map +1 -1
  150. package/dist/common/textEditTracker.d.ts +2 -1
  151. package/dist/common/textEditTracker.js +28 -28
  152. package/dist/common/textEditTracker.js.map +1 -1
  153. package/dist/common/textRange.d.ts +2 -1
  154. package/dist/common/textRange.js.map +1 -1
  155. package/dist/common/uri/baseUri.d.ts +51 -0
  156. package/dist/common/uri/baseUri.js +194 -0
  157. package/dist/common/uri/baseUri.js.map +1 -0
  158. package/dist/common/uri/emptyUri.d.ts +32 -0
  159. package/dist/common/uri/emptyUri.js +122 -0
  160. package/dist/common/uri/emptyUri.js.map +1 -0
  161. package/dist/common/uri/fileUri.d.ts +36 -0
  162. package/dist/common/uri/fileUri.js +180 -0
  163. package/dist/common/uri/fileUri.js.map +1 -0
  164. package/dist/common/uri/memoization.d.ts +3 -0
  165. package/dist/common/uri/memoization.js +72 -0
  166. package/dist/common/uri/memoization.js.map +1 -0
  167. package/dist/common/uri/uri.d.ts +50 -0
  168. package/dist/common/uri/uri.js +104 -0
  169. package/dist/common/uri/uri.js.map +1 -0
  170. package/dist/common/uri/uriUtils.d.ts +39 -0
  171. package/dist/common/uri/uriUtils.js +362 -0
  172. package/dist/common/uri/uriUtils.js.map +1 -0
  173. package/dist/common/uri/webUri.d.ts +36 -0
  174. package/dist/common/uri/webUri.js +207 -0
  175. package/dist/common/uri/webUri.js.map +1 -0
  176. package/dist/common/workspaceEditUtils.d.ts +8 -8
  177. package/dist/common/workspaceEditUtils.js +34 -37
  178. package/dist/common/workspaceEditUtils.js.map +1 -1
  179. package/dist/languageServerBase.d.ts +19 -22
  180. package/dist/languageServerBase.js +91 -95
  181. package/dist/languageServerBase.js.map +1 -1
  182. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
  183. package/dist/languageService/analyzerServiceExecutor.js +14 -16
  184. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  185. package/dist/languageService/autoImporter.d.ts +11 -9
  186. package/dist/languageService/autoImporter.js +45 -44
  187. package/dist/languageService/autoImporter.js.map +1 -1
  188. package/dist/languageService/callHierarchyProvider.d.ts +3 -2
  189. package/dist/languageService/callHierarchyProvider.js +23 -35
  190. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  191. package/dist/languageService/codeActionProvider.d.ts +2 -1
  192. package/dist/languageService/codeActionProvider.js +8 -10
  193. package/dist/languageService/codeActionProvider.js.map +1 -1
  194. package/dist/languageService/completionProvider.d.ts +7 -6
  195. package/dist/languageService/completionProvider.js +32 -30
  196. package/dist/languageService/completionProvider.js.map +1 -1
  197. package/dist/languageService/completionProviderUtils.d.ts +2 -1
  198. package/dist/languageService/completionProviderUtils.js +1 -1
  199. package/dist/languageService/completionProviderUtils.js.map +1 -1
  200. package/dist/languageService/definitionProvider.d.ts +4 -3
  201. package/dist/languageService/definitionProvider.js +26 -24
  202. package/dist/languageService/definitionProvider.js.map +1 -1
  203. package/dist/languageService/documentHighlightProvider.d.ts +3 -2
  204. package/dist/languageService/documentHighlightProvider.js +3 -3
  205. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  206. package/dist/languageService/documentSymbolCollector.js +8 -7
  207. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  208. package/dist/languageService/documentSymbolProvider.d.ts +5 -4
  209. package/dist/languageService/documentSymbolProvider.js +9 -11
  210. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  211. package/dist/languageService/hoverProvider.d.ts +4 -3
  212. package/dist/languageService/hoverProvider.js +6 -5
  213. package/dist/languageService/hoverProvider.js.map +1 -1
  214. package/dist/languageService/navigationUtils.d.ts +2 -1
  215. package/dist/languageService/navigationUtils.js +2 -3
  216. package/dist/languageService/navigationUtils.js.map +1 -1
  217. package/dist/languageService/quickActions.d.ts +2 -1
  218. package/dist/languageService/quickActions.js +3 -3
  219. package/dist/languageService/quickActions.js.map +1 -1
  220. package/dist/languageService/referencesProvider.d.ts +10 -9
  221. package/dist/languageService/referencesProvider.js +28 -28
  222. package/dist/languageService/referencesProvider.js.map +1 -1
  223. package/dist/languageService/renameProvider.d.ts +4 -3
  224. package/dist/languageService/renameProvider.js +17 -18
  225. package/dist/languageService/renameProvider.js.map +1 -1
  226. package/dist/languageService/signatureHelpProvider.d.ts +3 -2
  227. package/dist/languageService/signatureHelpProvider.js +4 -4
  228. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  229. package/dist/languageService/symbolIndexer.d.ts +2 -1
  230. package/dist/languageService/symbolIndexer.js +1 -1
  231. package/dist/languageService/symbolIndexer.js.map +1 -1
  232. package/dist/languageService/tooltipUtils.js +10 -4
  233. package/dist/languageService/tooltipUtils.js.map +1 -1
  234. package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
  235. package/dist/languageService/workspaceSymbolProvider.js +10 -11
  236. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  237. package/dist/localization/localize.d.ts +1 -0
  238. package/dist/localization/localize.js +1 -0
  239. package/dist/localization/localize.js.map +1 -1
  240. package/dist/localization/package.nls.en-us.json +2 -1
  241. package/dist/pyright.js +18 -17
  242. package/dist/pyright.js.map +1 -1
  243. package/dist/pyrightFileSystem.d.ts +13 -13
  244. package/dist/pyrightFileSystem.js +38 -43
  245. package/dist/pyrightFileSystem.js.map +1 -1
  246. package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
  247. package/dist/readonlyAugmentedFileSystem.js +62 -65
  248. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  249. package/dist/server.js +21 -20
  250. package/dist/server.js.map +1 -1
  251. package/dist/tests/chainedSourceFiles.test.js +39 -30
  252. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  253. package/dist/tests/checker.test.js +31 -30
  254. package/dist/tests/checker.test.js.map +1 -1
  255. package/dist/tests/completions.test.js +7 -3
  256. package/dist/tests/completions.test.js.map +1 -1
  257. package/dist/tests/config.test.js +24 -22
  258. package/dist/tests/config.test.js.map +1 -1
  259. package/dist/tests/documentSymbolCollector.test.js +3 -2
  260. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  261. package/dist/tests/filesystem.test.js +37 -35
  262. package/dist/tests/filesystem.test.js.map +1 -1
  263. package/dist/tests/fourSlashParser.test.js +4 -4
  264. package/dist/tests/fourSlashParser.test.js.map +1 -1
  265. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
  266. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  267. package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
  268. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  269. package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
  270. package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
  271. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  272. package/dist/tests/harness/fourslash/testState.d.ts +4 -4
  273. package/dist/tests/harness/fourslash/testState.js +91 -51
  274. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  275. package/dist/tests/harness/testAccessHost.d.ts +3 -2
  276. package/dist/tests/harness/testAccessHost.js +2 -1
  277. package/dist/tests/harness/testAccessHost.js.map +1 -1
  278. package/dist/tests/harness/testHost.js +13 -11
  279. package/dist/tests/harness/testHost.js.map +1 -1
  280. package/dist/tests/harness/vfs/factory.d.ts +3 -2
  281. package/dist/tests/harness/vfs/factory.js +5 -4
  282. package/dist/tests/harness/vfs/factory.js.map +1 -1
  283. package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
  284. package/dist/tests/harness/vfs/filesystem.js +47 -49
  285. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  286. package/dist/tests/harness/vfs/pathValidation.js +1 -10
  287. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  288. package/dist/tests/importResolver.test.js +81 -58
  289. package/dist/tests/importResolver.test.js.map +1 -1
  290. package/dist/tests/importStatementUtils.test.js +10 -9
  291. package/dist/tests/importStatementUtils.test.js.map +1 -1
  292. package/dist/tests/ipythonMode.test.js +12 -11
  293. package/dist/tests/ipythonMode.test.js.map +1 -1
  294. package/dist/tests/logger.test.js +2 -1
  295. package/dist/tests/logger.test.js.map +1 -1
  296. package/dist/tests/parseTreeUtils.test.js +2 -1
  297. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  298. package/dist/tests/pathUtils.test.js +3 -138
  299. package/dist/tests/pathUtils.test.js.map +1 -1
  300. package/dist/tests/pyrightFileSystem.test.js +38 -34
  301. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  302. package/dist/tests/service.test.js +37 -42
  303. package/dist/tests/service.test.js.map +1 -1
  304. package/dist/tests/signatureHelp.test.js +3 -2
  305. package/dist/tests/signatureHelp.test.js.map +1 -1
  306. package/dist/tests/sourceFile.test.js +8 -7
  307. package/dist/tests/sourceFile.test.js.map +1 -1
  308. package/dist/tests/sourceMapperUtils.test.js +13 -6
  309. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  310. package/dist/tests/testState.test.js +13 -9
  311. package/dist/tests/testState.test.js.map +1 -1
  312. package/dist/tests/testStateUtils.d.ts +2 -5
  313. package/dist/tests/testStateUtils.js +27 -64
  314. package/dist/tests/testStateUtils.js.map +1 -1
  315. package/dist/tests/testUtils.d.ts +3 -5
  316. package/dist/tests/testUtils.js +15 -64
  317. package/dist/tests/testUtils.js.map +1 -1
  318. package/dist/tests/textEditUtil.test.js +4 -3
  319. package/dist/tests/textEditUtil.test.js.map +1 -1
  320. package/dist/tests/typeEvaluator1.test.js +16 -15
  321. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  322. package/dist/tests/typeEvaluator2.test.js +18 -9
  323. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  324. package/dist/tests/typeEvaluator3.test.js +73 -62
  325. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  326. package/dist/tests/typeEvaluator4.test.js +20 -19
  327. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  328. package/dist/tests/typeEvaluator5.test.js +28 -27
  329. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  330. package/dist/tests/typePrinter.test.js +4 -3
  331. package/dist/tests/typePrinter.test.js.map +1 -1
  332. package/dist/tests/uri.test.d.ts +1 -0
  333. package/dist/tests/uri.test.js +695 -0
  334. package/dist/tests/uri.test.js.map +1 -0
  335. package/dist/tests/workspaceEditUtils.test.js +28 -28
  336. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  337. package/dist/tests/zipfs.test.js +11 -11
  338. package/dist/tests/zipfs.test.js.map +1 -1
  339. package/dist/workspaceFactory.d.ts +13 -14
  340. package/dist/workspaceFactory.js +54 -55
  341. package/dist/workspaceFactory.js.map +1 -1
  342. package/package.json +2 -2
  343. package/dist/common/uriParser.d.ts +0 -24
  344. package/dist/common/uriParser.js +0 -45
  345. package/dist/common/uriParser.js.map +0 -1
@@ -47,6 +47,7 @@ const diagnosticRules_1 = require("../common/diagnosticRules");
47
47
  const pathUtils_1 = require("../common/pathUtils");
48
48
  const positionUtils_1 = require("../common/positionUtils");
49
49
  const textRange_1 = require("../common/textRange");
50
+ const uri_1 = require("../common/uri/uri");
50
51
  const localize_1 = require("../localization/localize");
51
52
  const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
52
53
  const codeFlowTypes_1 = require("./codeFlowTypes");
@@ -224,7 +225,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
224
225
  const classDeclaration = {
225
226
  type: 6 /* DeclarationType.Class */,
226
227
  node,
227
- path: this._fileInfo.filePath,
228
+ uri: this._fileInfo.fileUri,
228
229
  range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
229
230
  moduleName: this._fileInfo.moduleName,
230
231
  isInExceptSuite: this._isInExceptSuite,
@@ -269,7 +270,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
269
270
  node,
270
271
  isMethod: !!containingClassNode,
271
272
  isGenerator: false,
272
- path: this._fileInfo.filePath,
273
+ uri: this._fileInfo.fileUri,
273
274
  range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
274
275
  moduleName: this._fileInfo.moduleName,
275
276
  isInExceptSuite: this._isInExceptSuite,
@@ -329,7 +330,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
329
330
  const paramDeclaration = {
330
331
  type: 2 /* DeclarationType.Parameter */,
331
332
  node: paramNode,
332
- path: this._fileInfo.filePath,
333
+ uri: this._fileInfo.fileUri,
333
334
  range: (0, positionUtils_1.convertTextRangeToRange)(paramNode, this._fileInfo.lines),
334
335
  moduleName: this._fileInfo.moduleName,
335
336
  isInExceptSuite: this._isInExceptSuite,
@@ -387,7 +388,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
387
388
  const paramDeclaration = {
388
389
  type: 2 /* DeclarationType.Parameter */,
389
390
  node: paramNode,
390
- path: this._fileInfo.filePath,
391
+ uri: this._fileInfo.fileUri,
391
392
  range: (0, positionUtils_1.convertTextRangeToRange)(paramNode, this._fileInfo.lines),
392
393
  moduleName: this._fileInfo.moduleName,
393
394
  isInExceptSuite: this._isInExceptSuite,
@@ -511,7 +512,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
511
512
  const paramDeclaration = {
512
513
  type: 3 /* DeclarationType.TypeParameter */,
513
514
  node: param,
514
- path: this._fileInfo.filePath,
515
+ uri: this._fileInfo.fileUri,
515
516
  range: (0, positionUtils_1.convertTextRangeToRange)(node, this._fileInfo.lines),
516
517
  moduleName: this._fileInfo.moduleName,
517
518
  isInExceptSuite: this._isInExceptSuite,
@@ -542,10 +543,11 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
542
543
  const typeAliasDeclaration = {
543
544
  type: 4 /* DeclarationType.TypeAlias */,
544
545
  node,
545
- path: this._fileInfo.filePath,
546
+ uri: this._fileInfo.fileUri,
546
547
  range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
547
548
  moduleName: this._fileInfo.moduleName,
548
549
  isInExceptSuite: this._isInExceptSuite,
550
+ docString: this._getVariableDocString(node.expression),
549
551
  };
550
552
  const symbol = this._bindNameToScope(this._currentScope, node.name);
551
553
  if (symbol) {
@@ -1017,7 +1019,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1017
1019
  node: node.name,
1018
1020
  isConstant: (0, symbolNameUtils_1.isConstantName)(node.name.value),
1019
1021
  inferredTypeSource: node,
1020
- path: this._fileInfo.filePath,
1022
+ uri: this._fileInfo.fileUri,
1021
1023
  range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
1022
1024
  moduleName: this._fileInfo.moduleName,
1023
1025
  isInExceptSuite: this._isInExceptSuite,
@@ -1301,9 +1303,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1301
1303
  const dataclassesSymbolsOfInterest = ['InitVar'];
1302
1304
  const importInfo = AnalyzerNodeInfo.getImportInfo(node.module);
1303
1305
  AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
1304
- let resolvedPath = '';
1306
+ let resolvedPath = uri_1.Uri.empty();
1305
1307
  if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib) {
1306
- resolvedPath = importInfo.resolvedPaths[importInfo.resolvedPaths.length - 1];
1308
+ resolvedPath = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
1307
1309
  }
1308
1310
  // If this file is a module __init__.py(i), relative imports of submodules
1309
1311
  // using the syntax "from .x import y" introduce a symbol x into the
@@ -1311,7 +1313,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1311
1313
  // symbols below) in case one of the imported symbols is the same name as the
1312
1314
  // submodule. In that case, we want to the symbol to appear later in the
1313
1315
  // declaration list because it should "win" when resolving the alias.
1314
- const fileName = (0, pathUtils_1.stripFileExtension)((0, pathUtils_1.getFileName)(this._fileInfo.filePath));
1316
+ const fileName = (0, pathUtils_1.stripFileExtension)(this._fileInfo.fileUri.fileName);
1315
1317
  const isModuleInitFile = fileName === '__init__' && node.module.leadingDots === 1 && node.module.nameParts.length === 1;
1316
1318
  let isTypingImport = false;
1317
1319
  let isDataclassesImport = false;
@@ -1356,7 +1358,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1356
1358
  const aliasDecl = {
1357
1359
  type: 8 /* DeclarationType.Alias */,
1358
1360
  node,
1359
- path: resolvedPath,
1361
+ uri: resolvedPath,
1360
1362
  loadSymbolsFromPath: true,
1361
1363
  range: (0, textRange_1.getEmptyRange)(),
1362
1364
  usesLocalName: false,
@@ -1376,7 +1378,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1376
1378
  const submoduleFallback = {
1377
1379
  type: 8 /* DeclarationType.Alias */,
1378
1380
  node,
1379
- path: implicitImport.path,
1381
+ uri: implicitImport.uri,
1380
1382
  loadSymbolsFromPath: true,
1381
1383
  range: (0, textRange_1.getEmptyRange)(),
1382
1384
  usesLocalName: false,
@@ -1386,7 +1388,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1386
1388
  const aliasDecl = {
1387
1389
  type: 8 /* DeclarationType.Alias */,
1388
1390
  node,
1389
- path: resolvedPath,
1391
+ uri: resolvedPath,
1390
1392
  loadSymbolsFromPath: true,
1391
1393
  usesLocalName: false,
1392
1394
  symbolName: name,
@@ -1454,7 +1456,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1454
1456
  submoduleFallback = {
1455
1457
  type: 8 /* DeclarationType.Alias */,
1456
1458
  node: importSymbolNode,
1457
- path: implicitImport.path,
1459
+ uri: implicitImport.uri,
1458
1460
  loadSymbolsFromPath: true,
1459
1461
  range: (0, textRange_1.getEmptyRange)(),
1460
1462
  usesLocalName: false,
@@ -1470,7 +1472,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1470
1472
  if (node.module.leadingDots === 1 && node.module.nameParts.length === 0) {
1471
1473
  loadSymbolsFromPath = false;
1472
1474
  }
1473
- else if (resolvedPath === this._fileInfo.filePath) {
1475
+ else if (resolvedPath.equals(this._fileInfo.fileUri)) {
1474
1476
  loadSymbolsFromPath = false;
1475
1477
  }
1476
1478
  }
@@ -1478,7 +1480,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1478
1480
  const aliasDecl = {
1479
1481
  type: 8 /* DeclarationType.Alias */,
1480
1482
  node: importSymbolNode,
1481
- path: resolvedPath,
1483
+ uri: resolvedPath,
1482
1484
  loadSymbolsFromPath,
1483
1485
  usesLocalName: !!importSymbolNode.alias,
1484
1486
  symbolName: importedName,
@@ -1772,7 +1774,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1772
1774
  node: node.target,
1773
1775
  isConstant: (0, symbolNameUtils_1.isConstantName)(node.target.value),
1774
1776
  inferredTypeSource: node,
1775
- path: this._fileInfo.filePath,
1777
+ uri: this._fileInfo.fileUri,
1776
1778
  range: (0, positionUtils_1.convertTextRangeToRange)(node.target, this._fileInfo.lines),
1777
1779
  moduleName: this._fileInfo.moduleName,
1778
1780
  isInExceptSuite: this._isInExceptSuite,
@@ -1841,7 +1843,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1841
1843
  node: slotNameNode,
1842
1844
  isConstant: (0, symbolNameUtils_1.isConstantName)(slotName),
1843
1845
  isDefinedBySlots: true,
1844
- path: this._fileInfo.filePath,
1846
+ uri: this._fileInfo.fileUri,
1845
1847
  range: (0, positionUtils_1.convertTextRangeToRange)(slotNameNode, this._fileInfo.lines),
1846
1848
  moduleName: this._fileInfo.moduleName,
1847
1849
  isInExceptSuite: this._isInExceptSuite,
@@ -1883,7 +1885,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1883
1885
  node: target,
1884
1886
  isConstant: (0, symbolNameUtils_1.isConstantName)(target.value),
1885
1887
  inferredTypeSource: target.parent,
1886
- path: this._fileInfo.filePath,
1888
+ uri: this._fileInfo.fileUri,
1887
1889
  range: (0, positionUtils_1.convertTextRangeToRange)(target, this._fileInfo.lines),
1888
1890
  moduleName: this._fileInfo.moduleName,
1889
1891
  isInExceptSuite: this._isInExceptSuite,
@@ -1907,20 +1909,22 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1907
1909
  }
1908
1910
  // There should be only one declaration for the variable.
1909
1911
  const aliasDecl = varSymbol.getDeclarations().find((decl) => decl.type === 8 /* DeclarationType.Alias */);
1910
- const resolvedPath = (aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.path) && aliasDecl.loadSymbolsFromPath
1911
- ? aliasDecl.path
1912
- : ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.path) && aliasDecl.submoduleFallback.loadSymbolsFromPath
1913
- ? aliasDecl.submoduleFallback.path
1912
+ const resolvedUri = (aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.uri) && !aliasDecl.uri.isEmpty() && aliasDecl.loadSymbolsFromPath
1913
+ ? aliasDecl.uri
1914
+ : ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.uri) &&
1915
+ !aliasDecl.submoduleFallback.uri.isEmpty() &&
1916
+ aliasDecl.submoduleFallback.loadSymbolsFromPath
1917
+ ? aliasDecl.submoduleFallback.uri
1914
1918
  : undefined;
1915
- if (!resolvedPath) {
1919
+ if (!resolvedUri) {
1916
1920
  return undefined;
1917
1921
  }
1918
- let lookupInfo = this._fileInfo.importLookup(resolvedPath);
1922
+ let lookupInfo = this._fileInfo.importLookup(resolvedUri);
1919
1923
  if (lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames) {
1920
1924
  return lookupInfo.dunderAllNames;
1921
1925
  }
1922
- if ((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.path) {
1923
- lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.path);
1926
+ if (((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.uri) && !aliasDecl.submoduleFallback.uri.isEmpty()) {
1927
+ lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.uri);
1924
1928
  return lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames;
1925
1929
  }
1926
1930
  return undefined;
@@ -1948,14 +1952,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1948
1952
  .getDeclarations()
1949
1953
  .find((decl) => decl.type === 8 /* DeclarationType.Alias */ && decl.firstNamePart === firstNamePartValue);
1950
1954
  let newDecl;
1951
- let pathOfLastSubmodule;
1952
- if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedPaths.length > 0) {
1953
- pathOfLastSubmodule = importInfo.resolvedPaths[importInfo.resolvedPaths.length - 1];
1955
+ let uriOfLastSubmodule;
1956
+ if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0) {
1957
+ uriOfLastSubmodule = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
1954
1958
  }
1955
1959
  else {
1956
- pathOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
1960
+ uriOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
1957
1961
  }
1958
- const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedPaths.length > 0;
1962
+ const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0;
1959
1963
  if (existingDecl) {
1960
1964
  newDecl = existingDecl;
1961
1965
  }
@@ -1963,7 +1967,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1963
1967
  newDecl = {
1964
1968
  type: 8 /* DeclarationType.Alias */,
1965
1969
  node,
1966
- path: pathOfLastSubmodule,
1970
+ uri: uriOfLastSubmodule,
1967
1971
  loadSymbolsFromPath: false,
1968
1972
  range: (0, textRange_1.getEmptyRange)(),
1969
1973
  usesLocalName: !!importAlias,
@@ -1979,7 +1983,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1979
1983
  newDecl = {
1980
1984
  type: 8 /* DeclarationType.Alias */,
1981
1985
  node,
1982
- path: pathOfLastSubmodule,
1986
+ uri: uriOfLastSubmodule,
1983
1987
  loadSymbolsFromPath: true,
1984
1988
  range: (0, textRange_1.getEmptyRange)(),
1985
1989
  usesLocalName: !!importAlias,
@@ -1992,15 +1996,15 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1992
1996
  // See if there is import info for this part of the path. This allows us
1993
1997
  // to implicitly import all of the modules in a multi-part module name.
1994
1998
  const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[0]);
1995
- if (implicitImportInfo && implicitImportInfo.resolvedPaths.length) {
1996
- newDecl.path = implicitImportInfo.resolvedPaths[0];
1999
+ if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
2000
+ newDecl.uri = implicitImportInfo.resolvedUris[0];
1997
2001
  newDecl.loadSymbolsFromPath = true;
1998
2002
  this._addImplicitImportsToLoaderActions(implicitImportInfo, newDecl);
1999
2003
  }
2000
2004
  // Add the implicit imports for this module if it's the last
2001
2005
  // name part we're resolving.
2002
2006
  if (importAlias || node.module.nameParts.length === 1) {
2003
- newDecl.path = pathOfLastSubmodule;
2007
+ newDecl.uri = uriOfLastSubmodule;
2004
2008
  newDecl.loadSymbolsFromPath = true;
2005
2009
  newDecl.isUnresolved = false;
2006
2010
  if (importInfo) {
@@ -2017,12 +2021,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2017
2021
  ? curLoaderActions.implicitImports.get(namePartValue)
2018
2022
  : undefined;
2019
2023
  if (!loaderActions) {
2020
- const loaderActionPath = importInfo && i < importInfo.resolvedPaths.length
2021
- ? importInfo.resolvedPaths[i]
2024
+ const loaderActionPath = importInfo && i < importInfo.resolvedUris.length
2025
+ ? importInfo.resolvedUris[i]
2022
2026
  : declaration_1.UnresolvedModuleMarker;
2023
2027
  // Allocate a new loader action.
2024
2028
  loaderActions = {
2025
- path: loaderActionPath,
2029
+ uri: loaderActionPath,
2026
2030
  loadSymbolsFromPath: false,
2027
2031
  implicitImports: new Map(),
2028
2032
  isUnresolved: !isResolved,
@@ -2035,8 +2039,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2035
2039
  if (i === node.module.nameParts.length - 1) {
2036
2040
  // If this is the last name part we're resolving, add in the
2037
2041
  // implicit imports as well.
2038
- if (importInfo && i < importInfo.resolvedPaths.length) {
2039
- loaderActions.path = importInfo.resolvedPaths[i];
2042
+ if (importInfo && i < importInfo.resolvedUris.length) {
2043
+ loaderActions.uri = importInfo.resolvedUris[i];
2040
2044
  loaderActions.loadSymbolsFromPath = true;
2041
2045
  this._addImplicitImportsToLoaderActions(importInfo, loaderActions);
2042
2046
  }
@@ -2047,8 +2051,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2047
2051
  // import all of the modules in a multi-part module name (e.g. "import a.b.c"
2048
2052
  // imports "a" and "a.b" and "a.b.c").
2049
2053
  const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[i]);
2050
- if (implicitImportInfo && implicitImportInfo.resolvedPaths.length) {
2051
- loaderActions.path = implicitImportInfo.resolvedPaths[i];
2054
+ if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
2055
+ loaderActions.uri = implicitImportInfo.resolvedUris[i];
2052
2056
  loaderActions.loadSymbolsFromPath = true;
2053
2057
  this._addImplicitImportsToLoaderActions(implicitImportInfo, loaderActions);
2054
2058
  }
@@ -2694,7 +2698,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2694
2698
  type: 0 /* DeclarationType.Intrinsic */,
2695
2699
  node,
2696
2700
  intrinsicType: type,
2697
- path: this._fileInfo.filePath,
2701
+ uri: this._fileInfo.fileUri,
2698
2702
  range: (0, textRange_1.getEmptyRange)(),
2699
2703
  moduleName: this._fileInfo.moduleName,
2700
2704
  isInExceptSuite: this._isInExceptSuite,
@@ -2750,7 +2754,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2750
2754
  inferredTypeSource: source,
2751
2755
  isInferenceAllowedInPyTyped: this._isInferenceAllowedInPyTyped(name.value),
2752
2756
  typeAliasName: isPossibleTypeAlias ? target : undefined,
2753
- path: this._fileInfo.filePath,
2757
+ uri: this._fileInfo.fileUri,
2754
2758
  range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
2755
2759
  moduleName: this._fileInfo.moduleName,
2756
2760
  isInExceptSuite: this._isInExceptSuite,
@@ -2793,7 +2797,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2793
2797
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2794
2798
  inferredTypeSource: source,
2795
2799
  isDefinedByMemberAccess: true,
2796
- path: this._fileInfo.filePath,
2800
+ uri: this._fileInfo.fileUri,
2797
2801
  range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
2798
2802
  moduleName: this._fileInfo.moduleName,
2799
2803
  isInExceptSuite: this._isInExceptSuite,
@@ -2872,7 +2876,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2872
2876
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2873
2877
  isFinal: finalInfo.isFinal,
2874
2878
  typeAliasName: target,
2875
- path: this._fileInfo.filePath,
2879
+ uri: this._fileInfo.fileUri,
2876
2880
  typeAnnotationNode,
2877
2881
  range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
2878
2882
  moduleName: this._fileInfo.moduleName,
@@ -2936,7 +2940,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2936
2940
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2937
2941
  isDefinedByMemberAccess: true,
2938
2942
  isFinal: finalInfo.isFinal,
2939
- path: this._fileInfo.filePath,
2943
+ uri: this._fileInfo.fileUri,
2940
2944
  typeAnnotationNode: finalInfo.isFinal && !finalInfo.finalTypeNode ? undefined : typeAnnotation,
2941
2945
  range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
2942
2946
  moduleName: this._fileInfo.moduleName,
@@ -3137,7 +3141,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3137
3141
  ? loaderActions.implicitImports.get(implicitImport.name)
3138
3142
  : undefined;
3139
3143
  if (existingLoaderAction) {
3140
- existingLoaderAction.path = implicitImport.path;
3144
+ existingLoaderAction.uri = implicitImport.uri;
3141
3145
  existingLoaderAction.loadSymbolsFromPath = true;
3142
3146
  }
3143
3147
  else {
@@ -3145,7 +3149,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3145
3149
  loaderActions.implicitImports = new Map();
3146
3150
  }
3147
3151
  loaderActions.implicitImports.set(implicitImport.name, {
3148
- path: implicitImport.path,
3152
+ uri: implicitImport.uri,
3149
3153
  loadSymbolsFromPath: true,
3150
3154
  implicitImports: new Map(),
3151
3155
  });
@@ -3204,7 +3208,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3204
3208
  symbol.addDeclaration({
3205
3209
  type: 7 /* DeclarationType.SpecialBuiltInClass */,
3206
3210
  node: annotationNode,
3207
- path: this._fileInfo.filePath,
3211
+ uri: this._fileInfo.fileUri,
3208
3212
  range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
3209
3213
  moduleName: this._fileInfo.moduleName,
3210
3214
  isInExceptSuite: this._isInExceptSuite,