@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
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const configOptions_1 = require("../common/configOptions");
37
37
  const pythonVersion_1 = require("../common/pythonVersion");
38
+ const uri_1 = require("../common/uri/uri");
38
39
  const TestUtils = __importStar(require("./testUtils"));
39
40
  test('BadToken1', () => {
40
41
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['badToken1.py']);
@@ -52,7 +53,7 @@ test('CircularBaseClass', () => {
52
53
  TestUtils.validateResults(analysisResults, 2);
53
54
  });
54
55
  test('Private1', () => {
55
- const configOptions = new configOptions_1.ConfigOptions('.');
56
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
56
57
  // By default, optional diagnostics are ignored.
57
58
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['private1.py'], configOptions);
58
59
  TestUtils.validateResults(analysisResults, 0);
@@ -62,7 +63,7 @@ test('Private1', () => {
62
63
  TestUtils.validateResults(analysisResults, 4);
63
64
  });
64
65
  test('Constant1', () => {
65
- const configOptions = new configOptions_1.ConfigOptions('.');
66
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
66
67
  // By default, optional diagnostics are ignored.
67
68
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['constant1.py'], configOptions);
68
69
  TestUtils.validateResults(analysisResults, 0);
@@ -144,7 +145,7 @@ test('With3', () => {
144
145
  TestUtils.validateResults(analysisResults, 5);
145
146
  });
146
147
  test('With4', () => {
147
- const configOptions = new configOptions_1.ConfigOptions('.');
148
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
148
149
  configOptions.defaultPythonVersion = pythonVersion_1.PythonVersion.V3_8;
149
150
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['with4.py'], configOptions);
150
151
  TestUtils.validateResults(analysisResults1, 4);
@@ -177,7 +178,7 @@ test('Mro4', () => {
177
178
  TestUtils.validateResults(analysisResults, 1);
178
179
  });
179
180
  test('DefaultInitializer1', () => {
180
- const configOptions = new configOptions_1.ConfigOptions('.');
181
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
181
182
  // By default, the reportCallInDefaultInitializer is disabled.
182
183
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['defaultInitializer1.py'], configOptions);
183
184
  TestUtils.validateResults(analysisResults, 0);
@@ -187,7 +188,7 @@ test('DefaultInitializer1', () => {
187
188
  TestUtils.validateResults(analysisResults, 5);
188
189
  });
189
190
  test('UnnecessaryIsInstance1', () => {
190
- const configOptions = new configOptions_1.ConfigOptions('.');
191
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
191
192
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unnecessaryIsInstance1.py'], configOptions);
192
193
  TestUtils.validateResults(analysisResults, 1);
193
194
  // Turn on errors.
@@ -196,7 +197,7 @@ test('UnnecessaryIsInstance1', () => {
196
197
  TestUtils.validateResults(analysisResults, 5);
197
198
  });
198
199
  test('UnnecessaryIsSubclass1', () => {
199
- const configOptions = new configOptions_1.ConfigOptions('.');
200
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
200
201
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unnecessaryIsSubclass1.py'], configOptions);
201
202
  TestUtils.validateResults(analysisResults, 0);
202
203
  // Turn on errors.
@@ -205,7 +206,7 @@ test('UnnecessaryIsSubclass1', () => {
205
206
  TestUtils.validateResults(analysisResults, 2);
206
207
  });
207
208
  test('UnnecessaryCast1', () => {
208
- const configOptions = new configOptions_1.ConfigOptions('.');
209
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
209
210
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unnecessaryCast1.py'], configOptions);
210
211
  TestUtils.validateResults(analysisResults, 0);
211
212
  // Turn on errors.
@@ -214,7 +215,7 @@ test('UnnecessaryCast1', () => {
214
215
  TestUtils.validateResults(analysisResults, 6);
215
216
  });
216
217
  test('UnnecessaryContains1', () => {
217
- const configOptions = new configOptions_1.ConfigOptions('.');
218
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
218
219
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unnecessaryContains1.py'], configOptions);
219
220
  TestUtils.validateResults(analysisResults, 0);
220
221
  // Turn on errors.
@@ -223,7 +224,7 @@ test('UnnecessaryContains1', () => {
223
224
  TestUtils.validateResults(analysisResults, 5);
224
225
  });
225
226
  test('TypeIgnore1', () => {
226
- const configOptions = new configOptions_1.ConfigOptions('.');
227
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
227
228
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeIgnore1.py'], configOptions);
228
229
  TestUtils.validateResults(analysisResults, 0);
229
230
  // Disable type ignore
@@ -232,7 +233,7 @@ test('TypeIgnore1', () => {
232
233
  TestUtils.validateResults(analysisResults, 3);
233
234
  });
234
235
  test('TypeIgnore2', () => {
235
- const configOptions = new configOptions_1.ConfigOptions('.');
236
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
236
237
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeIgnore2.py'], configOptions);
237
238
  TestUtils.validateResults(analysisResults, 0);
238
239
  // Disable type ignore
@@ -241,7 +242,7 @@ test('TypeIgnore2', () => {
241
242
  TestUtils.validateResults(analysisResults, 4);
242
243
  });
243
244
  test('TypeIgnore3', () => {
244
- const configOptions = new configOptions_1.ConfigOptions('.');
245
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
245
246
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeIgnore3.py'], configOptions);
246
247
  TestUtils.validateResults(analysisResults, 0);
247
248
  // Disable type ignore
@@ -250,7 +251,7 @@ test('TypeIgnore3', () => {
250
251
  TestUtils.validateResults(analysisResults, 4);
251
252
  });
252
253
  test('TypeIgnore4', () => {
253
- const configOptions = new configOptions_1.ConfigOptions('.');
254
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
254
255
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeIgnore4.py'], configOptions);
255
256
  TestUtils.validateResults(analysisResults, 0);
256
257
  configOptions.diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment = 'error';
@@ -258,7 +259,7 @@ test('TypeIgnore4', () => {
258
259
  TestUtils.validateResults(analysisResults, 2);
259
260
  });
260
261
  test('TypeIgnore5', () => {
261
- const configOptions = new configOptions_1.ConfigOptions('.');
262
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
262
263
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['typeIgnore5.py'], configOptions);
263
264
  TestUtils.validateResults(analysisResults, 0);
264
265
  configOptions.diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment = 'warning';
@@ -266,12 +267,12 @@ test('TypeIgnore5', () => {
266
267
  TestUtils.validateResults(analysisResults, 0, 1);
267
268
  });
268
269
  test('PyrightIgnore1', () => {
269
- const configOptions = new configOptions_1.ConfigOptions('.');
270
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
270
271
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['pyrightIgnore1.py'], configOptions);
271
272
  TestUtils.validateResults(analysisResults, 1);
272
273
  });
273
274
  test('PyrightIgnore2', () => {
274
- const configOptions = new configOptions_1.ConfigOptions('.');
275
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
275
276
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['pyrightIgnore2.py'], configOptions);
276
277
  TestUtils.validateResults(analysisResults, 2);
277
278
  configOptions.diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment = 'warning';
@@ -279,12 +280,12 @@ test('PyrightIgnore2', () => {
279
280
  TestUtils.validateResults(analysisResults, 2, 3);
280
281
  });
281
282
  test('PyrightComment1', () => {
282
- const configOptions = new configOptions_1.ConfigOptions('.');
283
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
283
284
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['pyrightComment1.py'], configOptions);
284
285
  TestUtils.validateResults(analysisResults, 9);
285
286
  });
286
287
  test('DuplicateImports1', () => {
287
- const configOptions = new configOptions_1.ConfigOptions('.');
288
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
288
289
  // By default, optional diagnostics are ignored.
289
290
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['duplicateImports1.py'], configOptions);
290
291
  TestUtils.validateResults(analysisResults, 0);
@@ -294,7 +295,7 @@ test('DuplicateImports1', () => {
294
295
  TestUtils.validateResults(analysisResults, 2);
295
296
  });
296
297
  test('ParamNames1', () => {
297
- const configOptions = new configOptions_1.ConfigOptions('.');
298
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
298
299
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['paramNames1.py'], configOptions);
299
300
  TestUtils.validateResults(analysisResults, 0, 7);
300
301
  configOptions.diagnosticRuleSet.reportSelfClsParameterName = 'none';
@@ -329,7 +330,7 @@ test('DuplicateDeclaration2', () => {
329
330
  TestUtils.validateResults(analysisResults, 4);
330
331
  });
331
332
  test('Strings1', () => {
332
- const configOptions = new configOptions_1.ConfigOptions('.');
333
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
333
334
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['strings1.py'], configOptions);
334
335
  TestUtils.validateResults(analysisResults1, 0);
335
336
  configOptions.diagnosticRuleSet.reportImplicitStringConcatenation = 'error';
@@ -337,7 +338,7 @@ test('Strings1', () => {
337
338
  TestUtils.validateResults(analysisResults2, 2);
338
339
  });
339
340
  test('UnusedExpression1', () => {
340
- const configOptions = new configOptions_1.ConfigOptions('.');
341
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
341
342
  // By default, this is a warning.
342
343
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unusedExpression1.py'], configOptions);
343
344
  TestUtils.validateResults(analysisResults, 0, 14);
@@ -351,7 +352,7 @@ test('UnusedExpression1', () => {
351
352
  TestUtils.validateResults(analysisResults, 14);
352
353
  });
353
354
  test('UnusedImport1', () => {
354
- const configOptions = new configOptions_1.ConfigOptions('.');
355
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
355
356
  // Enabled it
356
357
  configOptions.diagnosticRuleSet.reportUnusedImport = 'warning';
357
358
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['unusedImport1.py'], configOptions);
@@ -366,7 +367,7 @@ test('UnusedImport1', () => {
366
367
  TestUtils.validateResults(analysisResults, 2);
367
368
  });
368
369
  test('UninitializedVariable1', () => {
369
- const configOptions = new configOptions_1.ConfigOptions('.');
370
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
370
371
  // By default, this is off.
371
372
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['uninitializedVariable1.py'], configOptions);
372
373
  TestUtils.validateResults(analysisResults, 0);
@@ -376,7 +377,7 @@ test('UninitializedVariable1', () => {
376
377
  TestUtils.validateResults(analysisResults, 3);
377
378
  });
378
379
  test('UninitializedVariable2', () => {
379
- const configOptions = new configOptions_1.ConfigOptions('.');
380
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
380
381
  // By default, this is off.
381
382
  let analysisResults = TestUtils.typeAnalyzeSampleFiles(['uninitializedVariable2.py'], configOptions);
382
383
  TestUtils.validateResults(analysisResults, 0);
@@ -390,7 +391,7 @@ test('RegionComments1', () => {
390
391
  TestUtils.validateResults(analysisResults, 2);
391
392
  });
392
393
  test('Deprecated1', () => {
393
- const configOptions = new configOptions_1.ConfigOptions('.');
394
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
394
395
  configOptions.defaultPythonVersion = pythonVersion_1.PythonVersion.V3_8;
395
396
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['deprecated1.py'], configOptions);
396
397
  TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 0);
@@ -424,15 +425,15 @@ test('Deprecated1', () => {
424
425
  TestUtils.validateResults(analysisResults9, 49, 0, 0, undefined, undefined, 0);
425
426
  });
426
427
  test('Deprecated2', () => {
427
- const configOptions = new configOptions_1.ConfigOptions('.');
428
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
428
429
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['deprecated2.py'], configOptions);
429
- TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 12);
430
+ TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 13);
430
431
  configOptions.diagnosticRuleSet.reportDeprecated = 'error';
431
432
  const analysisResults2 = TestUtils.typeAnalyzeSampleFiles(['deprecated2.py'], configOptions);
432
- TestUtils.validateResults(analysisResults2, 12);
433
+ TestUtils.validateResults(analysisResults2, 13);
433
434
  });
434
435
  test('Deprecated3', () => {
435
- const configOptions = new configOptions_1.ConfigOptions('.');
436
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
436
437
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['deprecated3.py'], configOptions);
437
438
  TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 5);
438
439
  configOptions.diagnosticRuleSet.reportDeprecated = 'error';
@@ -440,7 +441,7 @@ test('Deprecated3', () => {
440
441
  TestUtils.validateResults(analysisResults2, 5);
441
442
  });
442
443
  test('Deprecated4', () => {
443
- const configOptions = new configOptions_1.ConfigOptions('.');
444
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
444
445
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['deprecated4.py'], configOptions);
445
446
  TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 6);
446
447
  configOptions.diagnosticRuleSet.reportDeprecated = 'error';
@@ -448,7 +449,7 @@ test('Deprecated4', () => {
448
449
  TestUtils.validateResults(analysisResults2, 6);
449
450
  });
450
451
  test('Deprecated5', () => {
451
- const configOptions = new configOptions_1.ConfigOptions('.');
452
+ const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.empty());
452
453
  const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['deprecated5.py'], configOptions);
453
454
  TestUtils.validateResults(analysisResults1, 0, 0, 0, undefined, undefined, 2);
454
455
  configOptions.diagnosticRuleSet.reportDeprecated = 'error';
@@ -1 +1 @@
1
- {"version":3,"file":"checker.test.js","sourceRoot":"","sources":["../../../src/tests/checker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.test.js","sourceRoot":"","sources":["../../../src/tests/checker.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ /*
3
+ * classDeclaration.test.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Test class detail's declaration
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const assert_1 = __importDefault(require("assert"));
14
+ const declaration_1 = require("../analyzer/declaration");
15
+ const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
16
+ const typeUtils_1 = require("../analyzer/typeUtils");
17
+ const types_1 = require("../analyzer/types");
18
+ const textRange_1 = require("../common/textRange");
19
+ const testState_1 = require("./harness/fourslash/testState");
20
+ test('regular class', () => {
21
+ const code = `
22
+ // @filename: test.py
23
+ //// [|class /*marker*/A:
24
+ //// pass|]
25
+ `;
26
+ checkClassDetail(code);
27
+ });
28
+ test('Meta class', () => {
29
+ const code = `
30
+ // @filename: test.py
31
+ //// [|class /*range*/MyMeta(type):
32
+ //// def __new__(cls, name, bases, dct):
33
+ //// return super().__new__(cls, name, bases, dct)|]
34
+ ////
35
+ //// class MyClass(metaclass=MyMeta):
36
+ //// pass
37
+ ////
38
+ //// /*marker*/E = MyMeta()
39
+ `;
40
+ checkClassDetail(code, '__class_MyMeta');
41
+ });
42
+ test('special built in class', () => {
43
+ const code = `
44
+ // @filename: test.py
45
+ //// from typing import TypedDict
46
+ //// def foo(t: /*marker*/TypedDict): ...
47
+ `;
48
+ checkSpecialBuiltInClassDetail(code);
49
+ });
50
+ test('dynamic enum', () => {
51
+ const code = `
52
+ // @filename: test.py
53
+ //// from enum import Enum
54
+ //// /*marker*/E = Enum('E', { 'One': 1 })
55
+ `;
56
+ checkNoDeclarationInClassDetail(code);
57
+ });
58
+ test('dynamic named tuple', () => {
59
+ const code = `
60
+ // @filename: test.py
61
+ //// from typing import NamedTuple
62
+ //// /*marker*/N = NamedTuple("N", [('name', str)])
63
+ `;
64
+ checkNoDeclarationInClassDetail(code);
65
+ });
66
+ test('dynamic typed dict', () => {
67
+ const code = `
68
+ // @filename: test.py
69
+ //// from typing import TypedDict
70
+ //// /*marker*/T = TypedDict("T", { "one": str })
71
+ `;
72
+ checkNoDeclarationInClassDetail(code);
73
+ });
74
+ test('dynamic new type', () => {
75
+ const code = `
76
+ // @filename: test.py
77
+ //// from typing import NewType
78
+ //// /*marker*/I = NewType('I', int)
79
+ `;
80
+ checkNoDeclarationInClassDetail(code);
81
+ });
82
+ test('dynamic type', () => {
83
+ const code = `
84
+ // @filename: test.py
85
+ //// /*marker*/D = type('D', (object,), {})
86
+ `;
87
+ checkNoDeclarationInClassDetail(code);
88
+ });
89
+ test('property', () => {
90
+ const code = `
91
+ // @filename: test.py
92
+ //// class MyClass:
93
+ //// def __init__(self):
94
+ //// self._v = None
95
+ ////
96
+ //// @property
97
+ //// def /*getter*/value(self):
98
+ //// return self._v
99
+ ////
100
+ //// @value.setter
101
+ //// def /*setter*/value(self, value):
102
+ //// self._v = value
103
+ ////
104
+ //// @value.deleter
105
+ //// def /*deleter*/value(self):
106
+ //// del self._v
107
+ `;
108
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
109
+ ['getter', 'setter', 'deleter'].forEach((marker) => {
110
+ const node = (0, testState_1.getNodeAtMarker)(state, marker);
111
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
112
+ const functionNode = (0, parseTreeUtils_1.getEnclosingFunction)(node);
113
+ (0, assert_1.default)((functionNode === null || functionNode === void 0 ? void 0 : functionNode.nodeType) === 28 /* ParseNodeType.Function */);
114
+ const result = state.program.evaluator.getTypeOfFunction(functionNode);
115
+ (0, assert_1.default)(result === null || result === void 0 ? void 0 : result.decoratedType);
116
+ (0, assert_1.default)((0, typeUtils_1.isProperty)(result.decoratedType));
117
+ (0, assert_1.default)((0, types_1.isClassInstance)(result.decoratedType));
118
+ (0, assert_1.default)(result.decoratedType.details.declaration);
119
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(result.decoratedType.details.declaration));
120
+ (0, assert_1.default)(result.decoratedType.details.declaration.moduleName === 'builtins');
121
+ (0, assert_1.default)(result.decoratedType.details.declaration.node.name.value === 'property');
122
+ });
123
+ });
124
+ function checkSpecialBuiltInClassDetail(code) {
125
+ var _a;
126
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
127
+ const node = (0, testState_1.getNodeAtMarker)(state);
128
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
129
+ const type = state.program.evaluator.getType(node);
130
+ (0, assert_1.default)((type === null || type === void 0 ? void 0 : type.category) === 6 /* TypeCategory.Class */);
131
+ assert_1.default.strictEqual(node.value, (_a = type.aliasName) !== null && _a !== void 0 ? _a : type.details.name);
132
+ (0, assert_1.default)(type.details.declaration);
133
+ if (type.aliasName) {
134
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(type.details.declaration));
135
+ }
136
+ else {
137
+ (0, assert_1.default)((0, declaration_1.isSpecialBuiltInClassDeclaration)(type.details.declaration));
138
+ }
139
+ }
140
+ function checkNoDeclarationInClassDetail(code) {
141
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
142
+ _checkClassDetail(state, undefined);
143
+ }
144
+ function checkClassDetail(code, name) {
145
+ var _a;
146
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
147
+ _checkClassDetail(state, (_a = state.getRangeByMarkerName('marker')) !== null && _a !== void 0 ? _a : state.getRangeByMarkerName('range'), name);
148
+ }
149
+ function _checkClassDetail(state, range, name) {
150
+ var _a;
151
+ const node = (0, testState_1.getNodeAtMarker)(state);
152
+ (0, assert_1.default)(node.nodeType === 38 /* ParseNodeType.Name */);
153
+ const type = state.program.evaluator.getType(node);
154
+ (0, assert_1.default)((type === null || type === void 0 ? void 0 : type.category) === 6 /* TypeCategory.Class */);
155
+ assert_1.default.strictEqual(name !== null && name !== void 0 ? name : node.value, (_a = type.aliasName) !== null && _a !== void 0 ? _a : type.details.name);
156
+ if (range) {
157
+ (0, assert_1.default)(type.details.declaration);
158
+ (0, assert_1.default)((0, declaration_1.isClassDeclaration)(type.details.declaration));
159
+ assert_1.default.deepStrictEqual(textRange_1.TextRange.create(type.details.declaration.node.start, type.details.declaration.node.length), textRange_1.TextRange.fromBounds(range.pos, range.end));
160
+ }
161
+ else {
162
+ // There should be no decl.
163
+ (0, assert_1.default)(!type.details.declaration);
164
+ }
165
+ }
166
+ //# sourceMappingURL=classDeclaration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classDeclaration.test.js","sourceRoot":"","sources":["../../../src/tests/classDeclaration.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  const assert_1 = __importDefault(require("assert"));
12
12
  const vscode_languageserver_1 = require("vscode-languageserver");
13
13
  const vscode_languageserver_types_1 = require("vscode-languageserver-types");
14
+ const uri_1 = require("../common/uri/uri");
14
15
  const completionProvider_1 = require("../languageService/completionProvider");
15
16
  const testState_1 = require("./harness/fourslash/testState");
16
17
  test('completion import statement tooltip', async () => {
@@ -730,6 +731,7 @@ test('completion quote trigger', async () => {
730
731
  const state = (0, testState_1.parseAndGetTestState)(code).state;
731
732
  const marker = state.getMarkerByName('marker');
732
733
  const filePath = marker.fileName;
734
+ const uri = uri_1.Uri.file(filePath);
733
735
  const position = state.convertOffsetToPosition(filePath, marker.position);
734
736
  const options = {
735
737
  format: 'markdown',
@@ -737,7 +739,7 @@ test('completion quote trigger', async () => {
737
739
  lazyEdit: false,
738
740
  triggerCharacter: '"',
739
741
  };
740
- const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootPath, filePath, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
742
+ const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootUri, uri, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
741
743
  (0, assert_1.default)(result);
742
744
  const item = result.items.find((a) => a.label === '"USD"');
743
745
  (0, assert_1.default)(item);
@@ -756,6 +758,7 @@ test('completion quote trigger - middle', async () => {
756
758
  const state = (0, testState_1.parseAndGetTestState)(code).state;
757
759
  const marker = state.getMarkerByName('marker');
758
760
  const filePath = marker.fileName;
761
+ const uri = uri_1.Uri.file(filePath);
759
762
  const position = state.convertOffsetToPosition(filePath, marker.position);
760
763
  const options = {
761
764
  format: 'markdown',
@@ -763,7 +766,7 @@ test('completion quote trigger - middle', async () => {
763
766
  lazyEdit: false,
764
767
  triggerCharacter: "'",
765
768
  };
766
- const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootPath, filePath, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
769
+ const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootUri, uri, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
767
770
  assert_1.default.strictEqual(result === null || result === void 0 ? void 0 : result.items.length, 0);
768
771
  });
769
772
  test('auto import sort text', async () => {
@@ -789,13 +792,14 @@ test('auto import sort text', async () => {
789
792
  while (state.workspace.service.test_program.analyze())
790
793
  ;
791
794
  const filePath = marker.fileName;
795
+ const uri = uri_1.Uri.file(filePath);
792
796
  const position = state.convertOffsetToPosition(filePath, marker.position);
793
797
  const options = {
794
798
  format: 'markdown',
795
799
  snippet: false,
796
800
  lazyEdit: false,
797
801
  };
798
- const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootPath, filePath, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
802
+ const result = new completionProvider_1.CompletionProvider(state.program, state.workspace.rootUri, uri, position, options, vscode_languageserver_1.CancellationToken.None).getCompletions();
799
803
  const items = result === null || result === void 0 ? void 0 : result.items.filter((i) => i.label === 'os');
800
804
  assert_1.default.strictEqual(items === null || items === void 0 ? void 0 : items.length, 2);
801
805
  items.sort((a, b) => a.sortText.localeCompare(b.sortText));