@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
@@ -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");
@@ -119,7 +120,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
119
120
  // Bind implicit names.
120
121
  // List taken from https://docs.python.org/3/reference/import.html#__name__
121
122
  this._addImplicitSymbolToCurrentScope('__name__', node, 'str');
122
- this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
123
123
  this._addImplicitSymbolToCurrentScope('__loader__', node, 'Any');
124
124
  this._addImplicitSymbolToCurrentScope('__package__', node, 'str');
125
125
  this._addImplicitSymbolToCurrentScope('__spec__', node, 'Any');
@@ -224,7 +224,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
224
224
  const classDeclaration = {
225
225
  type: 6 /* DeclarationType.Class */,
226
226
  node,
227
- path: this._fileInfo.filePath,
227
+ uri: this._fileInfo.fileUri,
228
228
  range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
229
229
  moduleName: this._fileInfo.moduleName,
230
230
  isInExceptSuite: this._isInExceptSuite,
@@ -243,6 +243,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
243
243
  AnalyzerNodeInfo.setScope(node, this._currentScope);
244
244
  this._addImplicitSymbolToCurrentScope('__doc__', node, 'str | None');
245
245
  this._addImplicitSymbolToCurrentScope('__module__', node, 'str');
246
+ this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
246
247
  this._dunderSlotsEntries = undefined;
247
248
  if (!this._moduleSymbolOnly) {
248
249
  // Analyze the suite.
@@ -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,
@@ -1109,7 +1111,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1109
1111
  flags: codeFlowTypes_1.FlowFlags.PreFinallyGate,
1110
1112
  id: this._getUniqueFlowNodeId(),
1111
1113
  antecedent: preFinallyReturnOrRaiseLabel,
1112
- isGateClosed: false,
1113
1114
  };
1114
1115
  preFinallyLabel.affectedExpressions = this._trackCodeFlowExpressions(() => {
1115
1116
  if (node.finallySuite) {
@@ -1301,9 +1302,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1301
1302
  const dataclassesSymbolsOfInterest = ['InitVar'];
1302
1303
  const importInfo = AnalyzerNodeInfo.getImportInfo(node.module);
1303
1304
  AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
1304
- let resolvedPath = '';
1305
+ let resolvedPath = uri_1.Uri.empty();
1305
1306
  if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib) {
1306
- resolvedPath = importInfo.resolvedPaths[importInfo.resolvedPaths.length - 1];
1307
+ resolvedPath = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
1307
1308
  }
1308
1309
  // If this file is a module __init__.py(i), relative imports of submodules
1309
1310
  // using the syntax "from .x import y" introduce a symbol x into the
@@ -1311,7 +1312,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1311
1312
  // symbols below) in case one of the imported symbols is the same name as the
1312
1313
  // submodule. In that case, we want to the symbol to appear later in the
1313
1314
  // declaration list because it should "win" when resolving the alias.
1314
- const fileName = (0, pathUtils_1.stripFileExtension)((0, pathUtils_1.getFileName)(this._fileInfo.filePath));
1315
+ const fileName = (0, pathUtils_1.stripFileExtension)(this._fileInfo.fileUri.fileName);
1315
1316
  const isModuleInitFile = fileName === '__init__' && node.module.leadingDots === 1 && node.module.nameParts.length === 1;
1316
1317
  let isTypingImport = false;
1317
1318
  let isDataclassesImport = false;
@@ -1356,7 +1357,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1356
1357
  const aliasDecl = {
1357
1358
  type: 8 /* DeclarationType.Alias */,
1358
1359
  node,
1359
- path: resolvedPath,
1360
+ uri: resolvedPath,
1360
1361
  loadSymbolsFromPath: true,
1361
1362
  range: (0, textRange_1.getEmptyRange)(),
1362
1363
  usesLocalName: false,
@@ -1376,7 +1377,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1376
1377
  const submoduleFallback = {
1377
1378
  type: 8 /* DeclarationType.Alias */,
1378
1379
  node,
1379
- path: implicitImport.path,
1380
+ uri: implicitImport.uri,
1380
1381
  loadSymbolsFromPath: true,
1381
1382
  range: (0, textRange_1.getEmptyRange)(),
1382
1383
  usesLocalName: false,
@@ -1386,7 +1387,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1386
1387
  const aliasDecl = {
1387
1388
  type: 8 /* DeclarationType.Alias */,
1388
1389
  node,
1389
- path: resolvedPath,
1390
+ uri: resolvedPath,
1390
1391
  loadSymbolsFromPath: true,
1391
1392
  usesLocalName: false,
1392
1393
  symbolName: name,
@@ -1454,7 +1455,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1454
1455
  submoduleFallback = {
1455
1456
  type: 8 /* DeclarationType.Alias */,
1456
1457
  node: importSymbolNode,
1457
- path: implicitImport.path,
1458
+ uri: implicitImport.uri,
1458
1459
  loadSymbolsFromPath: true,
1459
1460
  range: (0, textRange_1.getEmptyRange)(),
1460
1461
  usesLocalName: false,
@@ -1470,7 +1471,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1470
1471
  if (node.module.leadingDots === 1 && node.module.nameParts.length === 0) {
1471
1472
  loadSymbolsFromPath = false;
1472
1473
  }
1473
- else if (resolvedPath === this._fileInfo.filePath) {
1474
+ else if (resolvedPath.equals(this._fileInfo.fileUri)) {
1474
1475
  loadSymbolsFromPath = false;
1475
1476
  }
1476
1477
  }
@@ -1478,7 +1479,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1478
1479
  const aliasDecl = {
1479
1480
  type: 8 /* DeclarationType.Alias */,
1480
1481
  node: importSymbolNode,
1481
- path: resolvedPath,
1482
+ uri: resolvedPath,
1482
1483
  loadSymbolsFromPath,
1483
1484
  usesLocalName: !!importSymbolNode.alias,
1484
1485
  symbolName: importedName,
@@ -1772,7 +1773,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1772
1773
  node: node.target,
1773
1774
  isConstant: (0, symbolNameUtils_1.isConstantName)(node.target.value),
1774
1775
  inferredTypeSource: node,
1775
- path: this._fileInfo.filePath,
1776
+ uri: this._fileInfo.fileUri,
1776
1777
  range: (0, positionUtils_1.convertTextRangeToRange)(node.target, this._fileInfo.lines),
1777
1778
  moduleName: this._fileInfo.moduleName,
1778
1779
  isInExceptSuite: this._isInExceptSuite,
@@ -1841,7 +1842,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1841
1842
  node: slotNameNode,
1842
1843
  isConstant: (0, symbolNameUtils_1.isConstantName)(slotName),
1843
1844
  isDefinedBySlots: true,
1844
- path: this._fileInfo.filePath,
1845
+ uri: this._fileInfo.fileUri,
1845
1846
  range: (0, positionUtils_1.convertTextRangeToRange)(slotNameNode, this._fileInfo.lines),
1846
1847
  moduleName: this._fileInfo.moduleName,
1847
1848
  isInExceptSuite: this._isInExceptSuite,
@@ -1883,7 +1884,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1883
1884
  node: target,
1884
1885
  isConstant: (0, symbolNameUtils_1.isConstantName)(target.value),
1885
1886
  inferredTypeSource: target.parent,
1886
- path: this._fileInfo.filePath,
1887
+ uri: this._fileInfo.fileUri,
1887
1888
  range: (0, positionUtils_1.convertTextRangeToRange)(target, this._fileInfo.lines),
1888
1889
  moduleName: this._fileInfo.moduleName,
1889
1890
  isInExceptSuite: this._isInExceptSuite,
@@ -1907,20 +1908,22 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1907
1908
  }
1908
1909
  // There should be only one declaration for the variable.
1909
1910
  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
1911
+ const resolvedUri = (aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.uri) && !aliasDecl.uri.isEmpty() && aliasDecl.loadSymbolsFromPath
1912
+ ? aliasDecl.uri
1913
+ : ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.uri) &&
1914
+ !aliasDecl.submoduleFallback.uri.isEmpty() &&
1915
+ aliasDecl.submoduleFallback.loadSymbolsFromPath
1916
+ ? aliasDecl.submoduleFallback.uri
1914
1917
  : undefined;
1915
- if (!resolvedPath) {
1918
+ if (!resolvedUri) {
1916
1919
  return undefined;
1917
1920
  }
1918
- let lookupInfo = this._fileInfo.importLookup(resolvedPath);
1921
+ let lookupInfo = this._fileInfo.importLookup(resolvedUri);
1919
1922
  if (lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames) {
1920
1923
  return lookupInfo.dunderAllNames;
1921
1924
  }
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);
1925
+ if (((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.uri) && !aliasDecl.submoduleFallback.uri.isEmpty()) {
1926
+ lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.uri);
1924
1927
  return lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames;
1925
1928
  }
1926
1929
  return undefined;
@@ -1948,14 +1951,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1948
1951
  .getDeclarations()
1949
1952
  .find((decl) => decl.type === 8 /* DeclarationType.Alias */ && decl.firstNamePart === firstNamePartValue);
1950
1953
  let newDecl;
1951
- let pathOfLastSubmodule;
1952
- if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedPaths.length > 0) {
1953
- pathOfLastSubmodule = importInfo.resolvedPaths[importInfo.resolvedPaths.length - 1];
1954
+ let uriOfLastSubmodule;
1955
+ if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0) {
1956
+ uriOfLastSubmodule = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
1954
1957
  }
1955
1958
  else {
1956
- pathOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
1959
+ uriOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
1957
1960
  }
1958
- const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedPaths.length > 0;
1961
+ const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0;
1959
1962
  if (existingDecl) {
1960
1963
  newDecl = existingDecl;
1961
1964
  }
@@ -1963,7 +1966,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1963
1966
  newDecl = {
1964
1967
  type: 8 /* DeclarationType.Alias */,
1965
1968
  node,
1966
- path: pathOfLastSubmodule,
1969
+ uri: uriOfLastSubmodule,
1967
1970
  loadSymbolsFromPath: false,
1968
1971
  range: (0, textRange_1.getEmptyRange)(),
1969
1972
  usesLocalName: !!importAlias,
@@ -1979,7 +1982,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1979
1982
  newDecl = {
1980
1983
  type: 8 /* DeclarationType.Alias */,
1981
1984
  node,
1982
- path: pathOfLastSubmodule,
1985
+ uri: uriOfLastSubmodule,
1983
1986
  loadSymbolsFromPath: true,
1984
1987
  range: (0, textRange_1.getEmptyRange)(),
1985
1988
  usesLocalName: !!importAlias,
@@ -1992,15 +1995,15 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
1992
1995
  // See if there is import info for this part of the path. This allows us
1993
1996
  // to implicitly import all of the modules in a multi-part module name.
1994
1997
  const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[0]);
1995
- if (implicitImportInfo && implicitImportInfo.resolvedPaths.length) {
1996
- newDecl.path = implicitImportInfo.resolvedPaths[0];
1998
+ if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
1999
+ newDecl.uri = implicitImportInfo.resolvedUris[0];
1997
2000
  newDecl.loadSymbolsFromPath = true;
1998
2001
  this._addImplicitImportsToLoaderActions(implicitImportInfo, newDecl);
1999
2002
  }
2000
2003
  // Add the implicit imports for this module if it's the last
2001
2004
  // name part we're resolving.
2002
2005
  if (importAlias || node.module.nameParts.length === 1) {
2003
- newDecl.path = pathOfLastSubmodule;
2006
+ newDecl.uri = uriOfLastSubmodule;
2004
2007
  newDecl.loadSymbolsFromPath = true;
2005
2008
  newDecl.isUnresolved = false;
2006
2009
  if (importInfo) {
@@ -2017,12 +2020,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2017
2020
  ? curLoaderActions.implicitImports.get(namePartValue)
2018
2021
  : undefined;
2019
2022
  if (!loaderActions) {
2020
- const loaderActionPath = importInfo && i < importInfo.resolvedPaths.length
2021
- ? importInfo.resolvedPaths[i]
2023
+ const loaderActionPath = importInfo && i < importInfo.resolvedUris.length
2024
+ ? importInfo.resolvedUris[i]
2022
2025
  : declaration_1.UnresolvedModuleMarker;
2023
2026
  // Allocate a new loader action.
2024
2027
  loaderActions = {
2025
- path: loaderActionPath,
2028
+ uri: loaderActionPath,
2026
2029
  loadSymbolsFromPath: false,
2027
2030
  implicitImports: new Map(),
2028
2031
  isUnresolved: !isResolved,
@@ -2035,8 +2038,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2035
2038
  if (i === node.module.nameParts.length - 1) {
2036
2039
  // If this is the last name part we're resolving, add in the
2037
2040
  // implicit imports as well.
2038
- if (importInfo && i < importInfo.resolvedPaths.length) {
2039
- loaderActions.path = importInfo.resolvedPaths[i];
2041
+ if (importInfo && i < importInfo.resolvedUris.length) {
2042
+ loaderActions.uri = importInfo.resolvedUris[i];
2040
2043
  loaderActions.loadSymbolsFromPath = true;
2041
2044
  this._addImplicitImportsToLoaderActions(importInfo, loaderActions);
2042
2045
  }
@@ -2047,8 +2050,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2047
2050
  // import all of the modules in a multi-part module name (e.g. "import a.b.c"
2048
2051
  // imports "a" and "a.b" and "a.b.c").
2049
2052
  const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[i]);
2050
- if (implicitImportInfo && implicitImportInfo.resolvedPaths.length) {
2051
- loaderActions.path = implicitImportInfo.resolvedPaths[i];
2053
+ if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
2054
+ loaderActions.uri = implicitImportInfo.resolvedUris[i];
2052
2055
  loaderActions.loadSymbolsFromPath = true;
2053
2056
  this._addImplicitImportsToLoaderActions(implicitImportInfo, loaderActions);
2054
2057
  }
@@ -2694,7 +2697,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2694
2697
  type: 0 /* DeclarationType.Intrinsic */,
2695
2698
  node,
2696
2699
  intrinsicType: type,
2697
- path: this._fileInfo.filePath,
2700
+ uri: this._fileInfo.fileUri,
2698
2701
  range: (0, textRange_1.getEmptyRange)(),
2699
2702
  moduleName: this._fileInfo.moduleName,
2700
2703
  isInExceptSuite: this._isInExceptSuite,
@@ -2750,7 +2753,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2750
2753
  inferredTypeSource: source,
2751
2754
  isInferenceAllowedInPyTyped: this._isInferenceAllowedInPyTyped(name.value),
2752
2755
  typeAliasName: isPossibleTypeAlias ? target : undefined,
2753
- path: this._fileInfo.filePath,
2756
+ uri: this._fileInfo.fileUri,
2754
2757
  range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
2755
2758
  moduleName: this._fileInfo.moduleName,
2756
2759
  isInExceptSuite: this._isInExceptSuite,
@@ -2793,7 +2796,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2793
2796
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2794
2797
  inferredTypeSource: source,
2795
2798
  isDefinedByMemberAccess: true,
2796
- path: this._fileInfo.filePath,
2799
+ uri: this._fileInfo.fileUri,
2797
2800
  range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
2798
2801
  moduleName: this._fileInfo.moduleName,
2799
2802
  isInExceptSuite: this._isInExceptSuite,
@@ -2872,7 +2875,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2872
2875
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2873
2876
  isFinal: finalInfo.isFinal,
2874
2877
  typeAliasName: target,
2875
- path: this._fileInfo.filePath,
2878
+ uri: this._fileInfo.fileUri,
2876
2879
  typeAnnotationNode,
2877
2880
  range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
2878
2881
  moduleName: this._fileInfo.moduleName,
@@ -2936,7 +2939,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
2936
2939
  isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
2937
2940
  isDefinedByMemberAccess: true,
2938
2941
  isFinal: finalInfo.isFinal,
2939
- path: this._fileInfo.filePath,
2942
+ uri: this._fileInfo.fileUri,
2940
2943
  typeAnnotationNode: finalInfo.isFinal && !finalInfo.finalTypeNode ? undefined : typeAnnotation,
2941
2944
  range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
2942
2945
  moduleName: this._fileInfo.moduleName,
@@ -3137,7 +3140,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3137
3140
  ? loaderActions.implicitImports.get(implicitImport.name)
3138
3141
  : undefined;
3139
3142
  if (existingLoaderAction) {
3140
- existingLoaderAction.path = implicitImport.path;
3143
+ existingLoaderAction.uri = implicitImport.uri;
3141
3144
  existingLoaderAction.loadSymbolsFromPath = true;
3142
3145
  }
3143
3146
  else {
@@ -3145,7 +3148,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3145
3148
  loaderActions.implicitImports = new Map();
3146
3149
  }
3147
3150
  loaderActions.implicitImports.set(implicitImport.name, {
3148
- path: implicitImport.path,
3151
+ uri: implicitImport.uri,
3149
3152
  loadSymbolsFromPath: true,
3150
3153
  implicitImports: new Map(),
3151
3154
  });
@@ -3186,7 +3189,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3186
3189
  'Optional',
3187
3190
  'Annotated',
3188
3191
  'TypeAlias',
3189
- 'OrderedDict',
3190
3192
  'Concatenate',
3191
3193
  'TypeGuard',
3192
3194
  'Unpack',
@@ -3194,22 +3196,25 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
3194
3196
  'NoReturn',
3195
3197
  'Never',
3196
3198
  'LiteralString',
3199
+ 'OrderedDict',
3197
3200
  ]);
3198
3201
  const assignedName = assignedNameNode.value;
3199
3202
  if (!specialTypes.has(assignedName)) {
3200
3203
  return false;
3201
3204
  }
3205
+ const specialBuiltInClassDeclaration = {
3206
+ type: 7 /* DeclarationType.SpecialBuiltInClass */,
3207
+ node: annotationNode,
3208
+ uri: this._fileInfo.fileUri,
3209
+ range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
3210
+ moduleName: this._fileInfo.moduleName,
3211
+ isInExceptSuite: this._isInExceptSuite,
3212
+ };
3202
3213
  const symbol = this._bindNameToScope(this._currentScope, annotationNode.valueExpression);
3203
3214
  if (symbol) {
3204
- symbol.addDeclaration({
3205
- type: 7 /* DeclarationType.SpecialBuiltInClass */,
3206
- node: annotationNode,
3207
- path: this._fileInfo.filePath,
3208
- range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
3209
- moduleName: this._fileInfo.moduleName,
3210
- isInExceptSuite: this._isInExceptSuite,
3211
- });
3215
+ symbol.addDeclaration(specialBuiltInClassDeclaration);
3212
3216
  }
3217
+ AnalyzerNodeInfo.setDeclaration(node, specialBuiltInClassDeclaration);
3213
3218
  return true;
3214
3219
  }
3215
3220
  _deferBinding(callback) {