@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
package/dist/pyright.js CHANGED
@@ -55,6 +55,8 @@ const pythonVersion_1 = require("./common/pythonVersion");
55
55
  const realFileSystem_1 = require("./common/realFileSystem");
56
56
  const serviceProviderExtensions_1 = require("./common/serviceProviderExtensions");
57
57
  const textRange_1 = require("./common/textRange");
58
+ const uri_1 = require("./common/uri/uri");
59
+ const uriUtils_1 = require("./common/uri/uriUtils");
58
60
  const pyrightFileSystem_1 = require("./pyrightFileSystem");
59
61
  const toolName = 'pyright';
60
62
  var ExitStatus;
@@ -179,11 +181,10 @@ async function processArgs() {
179
181
  options.includeFileSpecsOverride = options.includeFileSpecsOverride.map((f) => (0, pathUtils_1.combinePaths)(process.cwd(), f));
180
182
  // Verify the specified file specs to make sure their wildcard roots exist.
181
183
  const tempFileSystem = new pyrightFileSystem_1.PyrightFileSystem((0, realFileSystem_1.createFromRealFileSystem)());
182
- const tempServiceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(tempFileSystem, console);
183
184
  for (const fileDesc of options.includeFileSpecsOverride) {
184
- const includeSpec = (0, pathUtils_1.getFileSpec)(tempServiceProvider, '', fileDesc);
185
+ const includeSpec = (0, uriUtils_1.getFileSpec)(uri_1.Uri.file(process.cwd(), tempFileSystem.isCaseSensitive), fileDesc);
185
186
  try {
186
- const stat = (0, pathUtils_1.tryStat)(tempFileSystem, includeSpec.wildcardRoot);
187
+ const stat = (0, uriUtils_1.tryStat)(tempFileSystem, includeSpec.wildcardRoot);
187
188
  if (!stat) {
188
189
  console.error(`File or directory "${includeSpec.wildcardRoot}" does not exist.`);
189
190
  return ExitStatus.ParameterError;
@@ -278,7 +279,7 @@ async function processArgs() {
278
279
  // up the JSON output, which goes to stdout.
279
280
  const output = args.outputjson ? new console_1.StderrConsole(logLevel) : new console_1.StandardConsole(logLevel);
280
281
  const fileSystem = new pyrightFileSystem_1.PyrightFileSystem((0, realFileSystem_1.createFromRealFileSystem)(output, new chokidarFileWatcherProvider_1.ChokidarFileWatcherProvider(output)));
281
- const tempFile = new realFileSystem_1.RealTempFile();
282
+ const tempFile = new realFileSystem_1.RealTempFile(fileSystem.isCaseSensitive);
282
283
  const serviceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(fileSystem, output, tempFile);
283
284
  // The package type verification uses a different path.
284
285
  if (args['verifytypes'] !== undefined) {
@@ -294,7 +295,7 @@ async function processArgs() {
294
295
  // Refresh service after 2 seconds after the last library file change is detected.
295
296
  const service = new service_1.AnalyzerService('<default>', serviceProvider, {
296
297
  console: output,
297
- hostFactory: () => new fullAccessHost_1.FullAccessHost(fileSystem),
298
+ hostFactory: () => new fullAccessHost_1.FullAccessHost(serviceProvider),
298
299
  libraryReanalysisTimeProvider: () => 2 * 1000,
299
300
  });
300
301
  const exitStatus = (0, deferred_1.createDeferred)();
@@ -420,7 +421,7 @@ function buildTypeCompletenessReport(packageName, completenessReport, minSeverit
420
421
  };
421
422
  // Add the general diagnostics.
422
423
  completenessReport.generalDiagnostics.forEach((diag) => {
423
- const jsonDiag = convertDiagnosticToJson('', diag);
424
+ const jsonDiag = convertDiagnosticToJson(uri_1.Uri.empty(), diag);
424
425
  if (isDiagnosticIncluded(jsonDiag.severity, minSeverityLevel)) {
425
426
  report.generalDiagnostics.push(jsonDiag);
426
427
  }
@@ -428,11 +429,11 @@ function buildTypeCompletenessReport(packageName, completenessReport, minSeverit
428
429
  });
429
430
  report.typeCompleteness = {
430
431
  packageName,
431
- packageRootDirectory: completenessReport.packageRootDirectory,
432
+ packageRootDirectory: completenessReport.packageRootDirectoryUri,
432
433
  moduleName: completenessReport.moduleName,
433
- moduleRootDirectory: completenessReport.moduleRootDirectory,
434
+ moduleRootDirectory: completenessReport.moduleRootDirectoryUri,
434
435
  ignoreUnknownTypesFromImports: completenessReport.ignoreExternal,
435
- pyTypedPath: completenessReport.pyTypedPath,
436
+ pyTypedPath: completenessReport.pyTypedPathUri,
436
437
  exportedSymbolCounts: {
437
438
  withKnownType: 0,
438
439
  withAmbiguousType: 0,
@@ -462,7 +463,7 @@ function buildTypeCompletenessReport(packageName, completenessReport, minSeverit
462
463
  const diagnostics = [];
463
464
  // Convert and filter the diagnostics.
464
465
  symbol.diagnostics.forEach((diag) => {
465
- const jsonDiag = convertDiagnosticToJson(diag.filePath, diag.diagnostic);
466
+ const jsonDiag = convertDiagnosticToJson(diag.uri, diag.diagnostic);
466
467
  if (isDiagnosticIncluded(jsonDiag.severity, minSeverityLevel)) {
467
468
  diagnostics.push(jsonDiag);
468
469
  }
@@ -653,7 +654,7 @@ function reportDiagnosticsAsJson(fileDiagnostics, minSeverityLevel, filesInProgr
653
654
  if (diag.category === 0 /* DiagnosticCategory.Error */ ||
654
655
  diag.category === 1 /* DiagnosticCategory.Warning */ ||
655
656
  diag.category === 2 /* DiagnosticCategory.Information */) {
656
- const jsonDiag = convertDiagnosticToJson(fileDiag.filePath, diag);
657
+ const jsonDiag = convertDiagnosticToJson(fileDiag.fileUri, diag);
657
658
  if (isDiagnosticIncluded(jsonDiag.severity, minSeverityLevel)) {
658
659
  report.generalDiagnostics.push(jsonDiag);
659
660
  }
@@ -693,9 +694,9 @@ function convertDiagnosticCategoryToSeverity(category) {
693
694
  (0, debug_1.fail)('Unexpected diagnostic category');
694
695
  }
695
696
  }
696
- function convertDiagnosticToJson(filePath, diag) {
697
+ function convertDiagnosticToJson(uri, diag) {
697
698
  return {
698
- file: filePath,
699
+ file: uri.getFilePath(),
699
700
  severity: convertDiagnosticCategoryToSeverity(diag.category),
700
701
  message: diag.message,
701
702
  range: (0, textRange_1.isEmptyRange)(diag.range) ? undefined : diag.range,
@@ -713,9 +714,9 @@ function reportDiagnosticsAsText(fileDiagnostics, minSeverityLevel) {
713
714
  diag.category !== 5 /* DiagnosticCategory.Deprecated */ &&
714
715
  isDiagnosticIncluded(convertDiagnosticCategoryToSeverity(diag.category), minSeverityLevel));
715
716
  if (fileErrorsAndWarnings.length > 0) {
716
- console.info(`${fileDiagnostics.filePath}`);
717
+ console.info(`${fileDiagnostics.fileUri.toUserVisibleString()}`);
717
718
  fileErrorsAndWarnings.forEach((diag) => {
718
- const jsonDiag = convertDiagnosticToJson(fileDiagnostics.filePath, diag);
719
+ const jsonDiag = convertDiagnosticToJson(fileDiagnostics.fileUri, diag);
719
720
  logDiagnosticToConsole(jsonDiag);
720
721
  if (diag.category === 0 /* DiagnosticCategory.Error */) {
721
722
  errorCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@
3
3
  import type * as fs from 'fs';
4
4
  import { ExecutionEnvironment } from './common/configOptions';
5
5
  import { FileSystem, MkDirOptions } from './common/fileSystem';
6
+ import { Uri } from './common/uri/uri';
6
7
  import { ReadOnlyAugmentedFileSystem } from './readonlyAugmentedFileSystem';
7
8
  export interface SupportPartialStubs {
8
9
  isPartialStubPackagesScanned(execEnv: ExecutionEnvironment): boolean;
9
- isPathScanned(path: string): boolean;
10
- processPartialStubPackages(paths: string[], roots: string[], bundledStubPath?: string): void;
10
+ isPathScanned(path: Uri): boolean;
11
+ processPartialStubPackages(paths: Uri[], roots: Uri[], bundledStubPath?: Uri): void;
11
12
  clearPartialStubs(): void;
12
13
  }
13
14
  export declare namespace SupportPartialStubs {
@@ -19,18 +20,17 @@ export declare class PyrightFileSystem extends ReadOnlyAugmentedFileSystem imple
19
20
  private readonly _rootSearched;
20
21
  private readonly _partialStubPackagePaths;
21
22
  constructor(realFS: FileSystem);
22
- mkdirSync(path: string, options?: MkDirOptions): void;
23
- chdir(path: string): void;
24
- writeFileSync(path: string, data: string | Buffer, encoding: BufferEncoding | null): void;
25
- rmdirSync(path: string): void;
26
- unlinkSync(path: string): void;
27
- createWriteStream(path: string): fs.WriteStream;
28
- copyFileSync(src: string, dst: string): void;
29
- getUri(originalPath: string): string;
23
+ mkdirSync(uri: Uri, options?: MkDirOptions): void;
24
+ chdir(uri: Uri): void;
25
+ writeFileSync(uri: Uri, data: string | Buffer, encoding: BufferEncoding | null): void;
26
+ rmdirSync(uri: Uri): void;
27
+ unlinkSync(uri: Uri): void;
28
+ createWriteStream(uri: Uri): fs.WriteStream;
29
+ copyFileSync(src: Uri, dst: Uri): void;
30
30
  isPartialStubPackagesScanned(execEnv: ExecutionEnvironment): boolean;
31
- isPathScanned(path: string): boolean;
32
- processPartialStubPackages(paths: string[], roots: string[], bundledStubPath?: string): void;
31
+ isPathScanned(uri: Uri): boolean;
32
+ processPartialStubPackages(paths: Uri[], roots: Uri[], bundledStubPath?: Uri): void;
33
33
  clearPartialStubs(): void;
34
- protected isMovedEntry(path: string): boolean;
34
+ protected isMovedEntry(uri: Uri): boolean;
35
35
  private _getRelativePathPartialStubs;
36
36
  }
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.PyrightFileSystem = exports.SupportPartialStubs = void 0;
14
14
  const pyTypedUtils_1 = require("./analyzer/pyTypedUtils");
15
15
  const pathConsts_1 = require("./common/pathConsts");
16
- const pathUtils_1 = require("./common/pathUtils");
16
+ const uriUtils_1 = require("./common/uri/uriUtils");
17
17
  const readonlyAugmentedFileSystem_1 = require("./readonlyAugmentedFileSystem");
18
18
  var SupportPartialStubs;
19
19
  (function (SupportPartialStubs) {
@@ -33,42 +33,38 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
33
33
  // Partial stub package paths processed
34
34
  this._partialStubPackagePaths = new Set();
35
35
  }
36
- mkdirSync(path, options) {
37
- this.realFS.mkdirSync(path, options);
36
+ mkdirSync(uri, options) {
37
+ this.realFS.mkdirSync(uri, options);
38
38
  }
39
- chdir(path) {
40
- this.realFS.chdir(path);
39
+ chdir(uri) {
40
+ this.realFS.chdir(uri);
41
41
  }
42
- writeFileSync(path, data, encoding) {
43
- this.realFS.writeFileSync(this.getOriginalPath(path), data, encoding);
42
+ writeFileSync(uri, data, encoding) {
43
+ this.realFS.writeFileSync(this.getOriginalPath(uri), data, encoding);
44
44
  }
45
- rmdirSync(path) {
46
- this.realFS.rmdirSync(this.getOriginalPath(path));
45
+ rmdirSync(uri) {
46
+ this.realFS.rmdirSync(this.getOriginalPath(uri));
47
47
  }
48
- unlinkSync(path) {
49
- this.realFS.unlinkSync(this.getOriginalPath(path));
48
+ unlinkSync(uri) {
49
+ this.realFS.unlinkSync(this.getOriginalPath(uri));
50
50
  }
51
- createWriteStream(path) {
52
- return this.realFS.createWriteStream(this.getOriginalPath(path));
51
+ createWriteStream(uri) {
52
+ return this.realFS.createWriteStream(this.getOriginalPath(uri));
53
53
  }
54
54
  copyFileSync(src, dst) {
55
55
  this.realFS.copyFileSync(this.getOriginalPath(src), this.getOriginalPath(dst));
56
56
  }
57
- getUri(originalPath) {
58
- return this.realFS.getUri(originalPath);
59
- }
60
57
  isPartialStubPackagesScanned(execEnv) {
61
- var _a;
62
- return this.isPathScanned((_a = execEnv.root) !== null && _a !== void 0 ? _a : '');
58
+ return execEnv.root ? this.isPathScanned(execEnv.root) : false;
63
59
  }
64
- isPathScanned(path) {
65
- return this._rootSearched.has(path);
60
+ isPathScanned(uri) {
61
+ return this._rootSearched.has(uri.key);
66
62
  }
67
63
  processPartialStubPackages(paths, roots, bundledStubPath) {
68
64
  var _a;
69
65
  for (const path of paths) {
70
- this._rootSearched.add(path);
71
- if (!this.realFS.existsSync(path) || !(0, pathUtils_1.isDirectory)(this.realFS, path)) {
66
+ this._rootSearched.add(path.key);
67
+ if (!this.realFS.existsSync(path) || !(0, uriUtils_1.isDirectory)(this.realFS, path)) {
72
68
  continue;
73
69
  }
74
70
  let dirEntries = [];
@@ -78,12 +74,12 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
78
74
  catch {
79
75
  // Leave empty set of dir entries to process.
80
76
  }
81
- const isBundledStub = path === bundledStubPath;
77
+ const isBundledStub = path.equals(bundledStubPath);
82
78
  for (const entry of dirEntries) {
83
- const partialStubPackagePath = (0, pathUtils_1.combinePaths)(path, entry.name);
79
+ const partialStubPackagePath = path.combinePaths(entry.name);
84
80
  const isDirectory = !entry.isSymbolicLink()
85
81
  ? entry.isDirectory()
86
- : !!((_a = (0, pathUtils_1.tryStat)(this.realFS, partialStubPackagePath)) === null || _a === void 0 ? void 0 : _a.isDirectory());
82
+ : !!((_a = (0, uriUtils_1.tryStat)(this.realFS, partialStubPackagePath)) === null || _a === void 0 ? void 0 : _a.isDirectory());
87
83
  if (!isDirectory || !entry.name.endsWith(pathConsts_1.stubsSuffix)) {
88
84
  continue;
89
85
  }
@@ -93,14 +89,14 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
93
89
  continue;
94
90
  }
95
91
  // We found partially typed stub-packages.
96
- this._partialStubPackagePaths.add(partialStubPackagePath);
92
+ this._partialStubPackagePaths.add(partialStubPackagePath.key);
97
93
  // Search the root to see whether we have matching package installed.
98
94
  let partialStubs;
99
95
  const packageName = entry.name.substr(0, entry.name.length - pathConsts_1.stubsSuffix.length);
100
96
  for (const root of roots) {
101
- const packagePath = (0, pathUtils_1.combinePaths)(root, packageName);
97
+ const packagePath = root.combinePaths(packageName);
102
98
  try {
103
- const stat = (0, pathUtils_1.tryStat)(this.realFS, packagePath);
99
+ const stat = (0, uriUtils_1.tryStat)(this.realFS, packagePath);
104
100
  if (!(stat === null || stat === void 0 ? void 0 : stat.isDirectory())) {
105
101
  continue;
106
102
  }
@@ -116,8 +112,8 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
116
112
  // Merge partial stub packages to the library.
117
113
  partialStubs = partialStubs !== null && partialStubs !== void 0 ? partialStubs : this._getRelativePathPartialStubs(partialStubPackagePath);
118
114
  for (const partialStub of partialStubs) {
119
- const originalPyiFile = (0, pathUtils_1.combinePaths)(partialStubPackagePath, partialStub);
120
- const mappedPyiFile = (0, pathUtils_1.combinePaths)(packagePath, partialStub);
115
+ const originalPyiFile = partialStubPackagePath.combinePaths(partialStub);
116
+ const mappedPyiFile = packagePath.combinePaths(partialStub);
121
117
  this.recordMovedEntry(mappedPyiFile, originalPyiFile, packagePath);
122
118
  }
123
119
  }
@@ -133,19 +129,18 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
133
129
  this._rootSearched.clear();
134
130
  this._partialStubPackagePaths.clear();
135
131
  }
136
- isMovedEntry(path) {
137
- return this._partialStubPackagePaths.has(path) || super.isMovedEntry(path);
132
+ isMovedEntry(uri) {
133
+ return this._partialStubPackagePaths.has(uri.key) || super.isMovedEntry(uri);
138
134
  }
139
- _getRelativePathPartialStubs(path) {
140
- const paths = [];
141
- const partialStubPathLength = (0, pathUtils_1.ensureTrailingDirectorySeparator)(path).length;
142
- const searchAllStubs = (path) => {
143
- for (const entry of this.realFS.readdirEntriesSync(path)) {
144
- const filePath = (0, pathUtils_1.combinePaths)(path, entry.name);
135
+ _getRelativePathPartialStubs(partialStubPath) {
136
+ const relativePaths = [];
137
+ const searchAllStubs = (uri) => {
138
+ for (const entry of this.realFS.readdirEntriesSync(uri)) {
139
+ const filePath = uri.combinePaths(entry.name);
145
140
  let isDirectory = entry.isDirectory();
146
141
  let isFile = entry.isFile();
147
142
  if (entry.isSymbolicLink()) {
148
- const stat = (0, pathUtils_1.tryStat)(this.realFS, filePath);
143
+ const stat = (0, uriUtils_1.tryStat)(this.realFS, filePath);
149
144
  if (stat) {
150
145
  isDirectory = stat.isDirectory();
151
146
  isFile = stat.isFile();
@@ -155,15 +150,15 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
155
150
  searchAllStubs(filePath);
156
151
  }
157
152
  if (isFile && entry.name.endsWith('.pyi')) {
158
- const relative = filePath.substring(partialStubPathLength);
153
+ const relative = partialStubPath.getRelativePathComponents(filePath).join('/');
159
154
  if (relative) {
160
- paths.push(relative);
155
+ relativePaths.push(relative);
161
156
  }
162
157
  }
163
158
  }
164
159
  };
165
- searchAllStubs(path);
166
- return paths;
160
+ searchAllStubs(partialStubPath);
161
+ return relativePaths;
167
162
  }
168
163
  }
169
164
  exports.PyrightFileSystem = PyrightFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":"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"}
@@ -3,39 +3,40 @@
3
3
  import type * as fs from 'fs';
4
4
  import { FileSystem, MkDirOptions, Stats } from './common/fileSystem';
5
5
  import { FileWatcher, FileWatcherEventHandler } from './common/fileWatcher';
6
+ import { Uri } from './common/uri/uri';
6
7
  export declare class ReadOnlyAugmentedFileSystem implements FileSystem {
7
8
  protected realFS: FileSystem;
8
9
  private readonly _entryMap;
9
10
  private readonly _reverseEntryMap;
10
11
  private readonly _folderMap;
11
12
  constructor(realFS: FileSystem);
12
- existsSync(path: string): boolean;
13
- mkdirSync(path: string, options?: MkDirOptions): void;
14
- chdir(path: string): void;
15
- readdirEntriesSync(path: string): fs.Dirent[];
16
- readdirSync(path: string): string[];
17
- readFileSync(path: string, encoding?: null): Buffer;
18
- readFileSync(path: string, encoding: BufferEncoding): string;
19
- writeFileSync(path: string, data: string | Buffer, encoding: BufferEncoding | null): void;
20
- statSync(path: string): Stats;
21
- rmdirSync(path: string): void;
22
- unlinkSync(path: string): void;
23
- realpathSync(path: string): string;
24
- getModulePath(): string;
25
- createFileSystemWatcher(paths: string[], listener: FileWatcherEventHandler): FileWatcher;
26
- createReadStream(path: string): fs.ReadStream;
27
- createWriteStream(path: string): fs.WriteStream;
28
- copyFileSync(src: string, dst: string): void;
29
- readFile(path: string): Promise<Buffer>;
30
- readFileText(path: string, encoding?: BufferEncoding): Promise<string>;
31
- realCasePath(path: string): string;
32
- getUri(originalPath: string): string;
33
- isMappedFilePath(filepath: string): boolean;
34
- getOriginalFilePath(mappedFilePath: string): string;
35
- getMappedFilePath(originalFilepath: string): string;
36
- isInZip(path: string): boolean;
37
- protected recordMovedEntry(mappedPath: string, originalPath: string, rootPath: string): void;
38
- protected getOriginalPath(mappedFilePath: string): string;
39
- protected isMovedEntry(path: string): boolean;
13
+ get isCaseSensitive(): boolean;
14
+ existsSync(uri: Uri): boolean;
15
+ mkdirSync(uri: Uri, options?: MkDirOptions): void;
16
+ chdir(uri: Uri): void;
17
+ readdirEntriesSync(uri: Uri): fs.Dirent[];
18
+ readdirSync(uri: Uri): string[];
19
+ readFileSync(uri: Uri, encoding?: null): Buffer;
20
+ readFileSync(uri: Uri, encoding: BufferEncoding): string;
21
+ writeFileSync(uri: Uri, data: string | Buffer, encoding: BufferEncoding | null): void;
22
+ statSync(uri: Uri): Stats;
23
+ rmdirSync(uri: Uri): void;
24
+ unlinkSync(uri: Uri): void;
25
+ realpathSync(uri: Uri): Uri;
26
+ getModulePath(): Uri;
27
+ createFileSystemWatcher(paths: Uri[], listener: FileWatcherEventHandler): FileWatcher;
28
+ createReadStream(uri: Uri): fs.ReadStream;
29
+ createWriteStream(uri: Uri): fs.WriteStream;
30
+ copyFileSync(src: Uri, dst: Uri): void;
31
+ readFile(uri: Uri): Promise<Buffer>;
32
+ readFileText(uri: Uri, encoding?: BufferEncoding): Promise<string>;
33
+ realCasePath(uri: Uri): Uri;
34
+ isMappedUri(fileUri: Uri): boolean;
35
+ getOriginalUri(mappedFileUri: Uri): Uri;
36
+ getMappedUri(originalFileUri: Uri): Uri;
37
+ isInZip(uri: Uri): boolean;
38
+ protected recordMovedEntry(mappedUri: Uri, originalUri: Uri, rootPath: Uri): void;
39
+ protected getOriginalPath(mappedFileUri: Uri): Uri;
40
+ protected isMovedEntry(uri: Uri): boolean;
40
41
  protected clear(): void;
41
42
  }