@zzzen/pyright-internal 1.2.0-dev.20231119 → 1.2.0-dev.20231203

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 (402) hide show
  1. package/dist/analyzer/analysis.d.ts +1 -1
  2. package/dist/analyzer/analysis.js +5 -1
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +1 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +1 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
  9. package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
  10. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  11. package/dist/analyzer/binder.js +201 -194
  12. package/dist/analyzer/binder.js.map +1 -1
  13. package/dist/analyzer/cacheManager.js +1 -1
  14. package/dist/analyzer/cacheManager.js.map +1 -1
  15. package/dist/analyzer/checker.d.ts +4 -1
  16. package/dist/analyzer/checker.js +403 -248
  17. package/dist/analyzer/checker.js.map +1 -1
  18. package/dist/analyzer/codeFlowEngine.d.ts +1 -1
  19. package/dist/analyzer/codeFlowEngine.js +33 -26
  20. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  21. package/dist/analyzer/codeFlowTypes.d.ts +1 -1
  22. package/dist/analyzer/codeFlowTypes.js +23 -23
  23. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  24. package/dist/analyzer/codeFlowUtils.js +39 -37
  25. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  26. package/dist/analyzer/commentUtils.js +7 -0
  27. package/dist/analyzer/commentUtils.js.map +1 -1
  28. package/dist/analyzer/constraintSolver.js +51 -47
  29. package/dist/analyzer/constraintSolver.js.map +1 -1
  30. package/dist/analyzer/constructorTransform.js +8 -8
  31. package/dist/analyzer/constructorTransform.js.map +1 -1
  32. package/dist/analyzer/constructors.js +25 -26
  33. package/dist/analyzer/constructors.js.map +1 -1
  34. package/dist/analyzer/dataClasses.js +124 -109
  35. package/dist/analyzer/dataClasses.js.map +1 -1
  36. package/dist/analyzer/declaration.d.ts +2 -2
  37. package/dist/analyzer/declaration.js +10 -10
  38. package/dist/analyzer/declaration.js.map +1 -1
  39. package/dist/analyzer/declarationUtils.js +41 -41
  40. package/dist/analyzer/declarationUtils.js.map +1 -1
  41. package/dist/analyzer/decorators.js +51 -51
  42. package/dist/analyzer/decorators.js.map +1 -1
  43. package/dist/analyzer/enums.js +27 -27
  44. package/dist/analyzer/enums.js.map +1 -1
  45. package/dist/analyzer/functionTransform.js +4 -4
  46. package/dist/analyzer/functionTransform.js.map +1 -1
  47. package/dist/analyzer/importResolver.d.ts +1 -1
  48. package/dist/analyzer/importResolver.js +21 -17
  49. package/dist/analyzer/importResolver.js.map +1 -1
  50. package/dist/analyzer/importResult.js +1 -1
  51. package/dist/analyzer/importResult.js.map +1 -1
  52. package/dist/analyzer/importStatementUtils.js +31 -27
  53. package/dist/analyzer/importStatementUtils.js.map +1 -1
  54. package/dist/analyzer/namedTuples.js +36 -32
  55. package/dist/analyzer/namedTuples.js.map +1 -1
  56. package/dist/analyzer/operations.js +94 -92
  57. package/dist/analyzer/operations.js.map +1 -1
  58. package/dist/analyzer/packageTypeReport.d.ts +1 -1
  59. package/dist/analyzer/packageTypeReport.js +2 -2
  60. package/dist/analyzer/packageTypeReport.js.map +1 -1
  61. package/dist/analyzer/packageTypeVerifier.js +90 -90
  62. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  63. package/dist/analyzer/parameterUtils.js +14 -14
  64. package/dist/analyzer/parameterUtils.js.map +1 -1
  65. package/dist/analyzer/parentDirectoryCache.d.ts +2 -2
  66. package/dist/analyzer/parseTreeCleaner.js +5 -1
  67. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  68. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  69. package/dist/analyzer/parseTreeUtils.js +383 -379
  70. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  71. package/dist/analyzer/parseTreeWalker.js +161 -157
  72. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  73. package/dist/analyzer/patternMatching.d.ts +1 -1
  74. package/dist/analyzer/patternMatching.js +52 -50
  75. package/dist/analyzer/patternMatching.js.map +1 -1
  76. package/dist/analyzer/program.d.ts +1 -1
  77. package/dist/analyzer/program.js +18 -14
  78. package/dist/analyzer/program.js.map +1 -1
  79. package/dist/analyzer/properties.js +53 -44
  80. package/dist/analyzer/properties.js.map +1 -1
  81. package/dist/analyzer/protocols.js +41 -27
  82. package/dist/analyzer/protocols.js.map +1 -1
  83. package/dist/analyzer/pythonPathUtils.js +5 -1
  84. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  85. package/dist/analyzer/regions.js +3 -3
  86. package/dist/analyzer/regions.js.map +1 -1
  87. package/dist/analyzer/scope.js +8 -8
  88. package/dist/analyzer/scope.js.map +1 -1
  89. package/dist/analyzer/scopeUtils.js +1 -1
  90. package/dist/analyzer/scopeUtils.js.map +1 -1
  91. package/dist/analyzer/service.js +5 -1
  92. package/dist/analyzer/service.js.map +1 -1
  93. package/dist/analyzer/sourceFile.js +25 -21
  94. package/dist/analyzer/sourceFile.js.map +1 -1
  95. package/dist/analyzer/sourceMapper.d.ts +2 -2
  96. package/dist/analyzer/sourceMapper.js +12 -8
  97. package/dist/analyzer/sourceMapper.js.map +1 -1
  98. package/dist/analyzer/staticExpressions.js +40 -40
  99. package/dist/analyzer/staticExpressions.js.map +1 -1
  100. package/dist/analyzer/symbol.d.ts +1 -1
  101. package/dist/analyzer/symbol.js +26 -26
  102. package/dist/analyzer/symbol.js.map +1 -1
  103. package/dist/analyzer/symbolUtils.js +1 -1
  104. package/dist/analyzer/symbolUtils.js.map +1 -1
  105. package/dist/analyzer/testWalker.js +5 -5
  106. package/dist/analyzer/testWalker.js.map +1 -1
  107. package/dist/analyzer/tracePrinter.d.ts +1 -1
  108. package/dist/analyzer/tracePrinter.js +35 -31
  109. package/dist/analyzer/tracePrinter.js.map +1 -1
  110. package/dist/analyzer/typeCacheUtils.js +5 -1
  111. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  112. package/dist/analyzer/typeDocStringUtils.js +13 -9
  113. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  114. package/dist/analyzer/typeEvaluator.js +1347 -1270
  115. package/dist/analyzer/typeEvaluator.js.map +1 -1
  116. package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -2
  117. package/dist/analyzer/typeEvaluatorTypes.js +4 -2
  118. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  119. package/dist/analyzer/typeGuards.d.ts +1 -1
  120. package/dist/analyzer/typeGuards.js +79 -65
  121. package/dist/analyzer/typeGuards.js.map +1 -1
  122. package/dist/analyzer/typePrinter.d.ts +1 -1
  123. package/dist/analyzer/typePrinter.js +80 -76
  124. package/dist/analyzer/typePrinter.js.map +1 -1
  125. package/dist/analyzer/typeStubWriter.js +26 -22
  126. package/dist/analyzer/typeStubWriter.js.map +1 -1
  127. package/dist/analyzer/typeUtils.d.ts +1 -1
  128. package/dist/analyzer/typeUtils.js +139 -135
  129. package/dist/analyzer/typeUtils.js.map +1 -1
  130. package/dist/analyzer/typeVarContext.d.ts +2 -0
  131. package/dist/analyzer/typeVarContext.js +36 -9
  132. package/dist/analyzer/typeVarContext.js.map +1 -1
  133. package/dist/analyzer/typeWalker.js +10 -10
  134. package/dist/analyzer/typedDicts.js +76 -102
  135. package/dist/analyzer/typedDicts.js.map +1 -1
  136. package/dist/analyzer/types.d.ts +18 -18
  137. package/dist/analyzer/types.js +186 -191
  138. package/dist/analyzer/types.js.map +1 -1
  139. package/dist/backgroundAnalysisBase.d.ts +2 -2
  140. package/dist/backgroundAnalysisBase.js +5 -1
  141. package/dist/backgroundAnalysisBase.js.map +1 -1
  142. package/dist/backgroundThreadBase.js +5 -1
  143. package/dist/backgroundThreadBase.js.map +1 -1
  144. package/dist/commands/commandController.js +6 -7
  145. package/dist/commands/commandController.js.map +1 -1
  146. package/dist/commands/commandResult.js +1 -1
  147. package/dist/commands/commandResult.js.map +1 -1
  148. package/dist/commands/commands.d.ts +0 -1
  149. package/dist/commands/commands.js +1 -2
  150. package/dist/commands/commands.js.map +1 -1
  151. package/dist/commands/dumpFileDebugInfoCommand.js +196 -196
  152. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  153. package/dist/commands/quickActionCommand.js +1 -1
  154. package/dist/commands/quickActionCommand.js.map +1 -1
  155. package/dist/common/charCodes.js +1 -1
  156. package/dist/common/charCodes.js.map +1 -1
  157. package/dist/common/chokidarFileWatcherProvider.js +5 -1
  158. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  159. package/dist/common/collectionUtils.d.ts +3 -3
  160. package/dist/common/collectionUtils.js +3 -3
  161. package/dist/common/collectionUtils.js.map +1 -1
  162. package/dist/common/commandLineOptions.d.ts +1 -1
  163. package/dist/common/commandLineOptions.js +5 -5
  164. package/dist/common/commandLineOptions.js.map +1 -1
  165. package/dist/common/configOptions.d.ts +2 -1
  166. package/dist/common/configOptions.js +102 -10
  167. package/dist/common/configOptions.js.map +1 -1
  168. package/dist/common/console.js +7 -3
  169. package/dist/common/console.js.map +1 -1
  170. package/dist/common/core.d.ts +2 -2
  171. package/dist/common/core.js +6 -6
  172. package/dist/common/core.js.map +1 -1
  173. package/dist/common/diagnostic.d.ts +0 -4
  174. package/dist/common/diagnostic.js +6 -6
  175. package/dist/common/diagnostic.js.map +1 -1
  176. package/dist/common/diagnosticRules.js +1 -1
  177. package/dist/common/diagnosticRules.js.map +1 -1
  178. package/dist/common/diagnosticSink.js +12 -12
  179. package/dist/common/diagnosticSink.js.map +1 -1
  180. package/dist/common/editAction.d.ts +1 -1
  181. package/dist/common/editAction.js +2 -2
  182. package/dist/common/editAction.js.map +1 -1
  183. package/dist/common/envVarUtils.js +5 -1
  184. package/dist/common/envVarUtils.js.map +1 -1
  185. package/dist/common/extensibility.js +1 -1
  186. package/dist/common/extensibility.js.map +1 -1
  187. package/dist/common/fileBasedCancellationUtils.js +5 -1
  188. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  189. package/dist/common/fileSystem.d.ts +1 -0
  190. package/dist/common/fileSystem.js +2 -2
  191. package/dist/common/fileSystem.js.map +1 -1
  192. package/dist/common/fileWatcher.d.ts +2 -2
  193. package/dist/common/fullAccessHost.js +10 -6
  194. package/dist/common/fullAccessHost.js.map +1 -1
  195. package/dist/common/host.d.ts +1 -1
  196. package/dist/common/host.js +2 -2
  197. package/dist/common/host.js.map +1 -1
  198. package/dist/common/lspUtils.js +7 -7
  199. package/dist/common/lspUtils.js.map +1 -1
  200. package/dist/common/memUtils.d.ts +1 -1
  201. package/dist/common/pathUtils.js +12 -8
  202. package/dist/common/pathUtils.js.map +1 -1
  203. package/dist/common/pythonVersion.js +1 -1
  204. package/dist/common/pythonVersion.js.map +1 -1
  205. package/dist/common/realFileSystem.js +5 -1
  206. package/dist/common/realFileSystem.js.map +1 -1
  207. package/dist/common/serviceProvider.d.ts +1 -1
  208. package/dist/common/serviceProvider.js +5 -1
  209. package/dist/common/serviceProvider.js.map +1 -1
  210. package/dist/common/serviceProviderExtensions.js +1 -1
  211. package/dist/common/serviceProviderExtensions.js.map +1 -1
  212. package/dist/common/stringUtils.js +5 -5
  213. package/dist/common/stringUtils.js.map +1 -1
  214. package/dist/common/textEditTracker.js +11 -7
  215. package/dist/common/textEditTracker.js.map +1 -1
  216. package/dist/common/textRange.js +3 -3
  217. package/dist/common/textRange.js.map +1 -1
  218. package/dist/languageServerBase.js +13 -13
  219. package/dist/languageServerBase.js.map +1 -1
  220. package/dist/languageService/autoImporter.d.ts +3 -3
  221. package/dist/languageService/autoImporter.js +12 -8
  222. package/dist/languageService/autoImporter.js.map +1 -1
  223. package/dist/languageService/callHierarchyProvider.js +27 -23
  224. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  225. package/dist/languageService/codeActionProvider.js +5 -19
  226. package/dist/languageService/codeActionProvider.js.map +1 -1
  227. package/dist/languageService/completionProvider.js +166 -162
  228. package/dist/languageService/completionProvider.js.map +1 -1
  229. package/dist/languageService/completionProviderUtils.js +9 -9
  230. package/dist/languageService/completionProviderUtils.js.map +1 -1
  231. package/dist/languageService/definitionProvider.js +14 -10
  232. package/dist/languageService/definitionProvider.js.map +1 -1
  233. package/dist/languageService/documentHighlightProvider.js +7 -3
  234. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  235. package/dist/languageService/documentSymbolCollector.d.ts +1 -1
  236. package/dist/languageService/documentSymbolCollector.js +21 -17
  237. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  238. package/dist/languageService/hoverProvider.js +30 -26
  239. package/dist/languageService/hoverProvider.js.map +1 -1
  240. package/dist/languageService/importSorter.js +1 -1
  241. package/dist/languageService/importSorter.js.map +1 -1
  242. package/dist/languageService/quickActions.d.ts +1 -2
  243. package/dist/languageService/quickActions.js +1 -77
  244. package/dist/languageService/quickActions.js.map +1 -1
  245. package/dist/languageService/referencesProvider.d.ts +1 -1
  246. package/dist/languageService/referencesProvider.js +24 -20
  247. package/dist/languageService/referencesProvider.js.map +1 -1
  248. package/dist/languageService/signatureHelpProvider.js +8 -4
  249. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  250. package/dist/languageService/symbolIndexer.js +8 -4
  251. package/dist/languageService/symbolIndexer.js.map +1 -1
  252. package/dist/languageService/tooltipUtils.js +20 -16
  253. package/dist/languageService/tooltipUtils.js.map +1 -1
  254. package/dist/languageService/workspaceSymbolProvider.js +5 -1
  255. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  256. package/dist/localization/localize.d.ts +19 -18
  257. package/dist/localization/localize.js +11 -8
  258. package/dist/localization/localize.js.map +1 -1
  259. package/dist/localization/package.nls.cs.json +0 -7
  260. package/dist/localization/package.nls.de.json +0 -7
  261. package/dist/localization/package.nls.en-us.json +11 -8
  262. package/dist/localization/package.nls.es.json +2 -9
  263. package/dist/localization/package.nls.fr.json +0 -7
  264. package/dist/localization/package.nls.it.json +0 -7
  265. package/dist/localization/package.nls.ja.json +0 -7
  266. package/dist/localization/package.nls.ko.json +0 -7
  267. package/dist/localization/package.nls.pl.json +0 -7
  268. package/dist/localization/package.nls.pt-br.json +0 -7
  269. package/dist/localization/package.nls.qps-ploc.json +0 -7
  270. package/dist/localization/package.nls.ru.json +0 -7
  271. package/dist/localization/package.nls.tr.json +0 -7
  272. package/dist/localization/package.nls.zh-cn.json +0 -7
  273. package/dist/localization/package.nls.zh-tw.json +0 -7
  274. package/dist/parser/characterStream.js +3 -3
  275. package/dist/parser/characterStream.js.map +1 -1
  276. package/dist/parser/characters.js +13 -9
  277. package/dist/parser/characters.js.map +1 -1
  278. package/dist/parser/parseNodes.d.ts +12 -12
  279. package/dist/parser/parseNodes.js +193 -193
  280. package/dist/parser/parseNodes.js.map +1 -1
  281. package/dist/parser/parser.js +563 -559
  282. package/dist/parser/parser.js.map +1 -1
  283. package/dist/parser/stringTokenUtils.js +47 -47
  284. package/dist/parser/stringTokenUtils.js.map +1 -1
  285. package/dist/parser/tokenizer.js +288 -288
  286. package/dist/parser/tokenizer.js.map +1 -1
  287. package/dist/parser/tokenizerTypes.js +35 -35
  288. package/dist/parser/tokenizerTypes.js.map +1 -1
  289. package/dist/parser/unicode.d.ts +3 -3
  290. package/dist/pyright.js +21 -17
  291. package/dist/pyright.js.map +1 -1
  292. package/dist/pyrightFileSystem.d.ts +1 -0
  293. package/dist/pyrightFileSystem.js +2 -2
  294. package/dist/pyrightFileSystem.js.map +1 -1
  295. package/dist/readonlyAugmentedFileSystem.d.ts +2 -1
  296. package/dist/readonlyAugmentedFileSystem.js +15 -5
  297. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  298. package/dist/server.js +1 -1
  299. package/dist/server.js.map +1 -1
  300. package/dist/tests/chainedSourceFiles.test.js +5 -1
  301. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  302. package/dist/tests/checker.test.js +13 -1
  303. package/dist/tests/checker.test.js.map +1 -1
  304. package/dist/tests/collectionUtils.test.js +5 -1
  305. package/dist/tests/collectionUtils.test.js.map +1 -1
  306. package/dist/tests/common.test.js +5 -1
  307. package/dist/tests/common.test.js.map +1 -1
  308. package/dist/tests/debug.test.js +8 -4
  309. package/dist/tests/debug.test.js.map +1 -1
  310. package/dist/tests/deferred.test.js +5 -1
  311. package/dist/tests/deferred.test.js.map +1 -1
  312. package/dist/tests/diagnosticOverrides.test.js +5 -1
  313. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  314. package/dist/tests/docStringUtils.test.js +5 -1
  315. package/dist/tests/docStringUtils.test.js.map +1 -1
  316. package/dist/tests/filesystem.test.js +5 -1
  317. package/dist/tests/filesystem.test.js.map +1 -1
  318. package/dist/tests/fourSlashParser.test.js +5 -1
  319. package/dist/tests/fourSlashParser.test.js.map +1 -1
  320. package/dist/tests/fourSlashRunner.test.js +5 -1
  321. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  322. package/dist/tests/fourslash/fourslash.d.ts +1 -2
  323. package/dist/tests/harness/fourslash/fourSlashParser.js +13 -13
  324. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  325. package/dist/tests/harness/fourslash/fourSlashTypes.js +11 -7
  326. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  327. package/dist/tests/harness/fourslash/runner.d.ts +1 -1
  328. package/dist/tests/harness/fourslash/runner.js +5 -1
  329. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  330. package/dist/tests/harness/fourslash/testLanguageService.js +5 -1
  331. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  332. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -2
  333. package/dist/tests/harness/fourslash/testState.Consts.js +6 -3
  334. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  335. package/dist/tests/harness/fourslash/testState.js +18 -14
  336. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  337. package/dist/tests/harness/fourslash/testStateUtils.js +9 -5
  338. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  339. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -1
  340. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  341. package/dist/tests/harness/testHost.js +5 -1
  342. package/dist/tests/harness/testHost.js.map +1 -1
  343. package/dist/tests/harness/utils.d.ts +13 -12
  344. package/dist/tests/harness/utils.js.map +1 -1
  345. package/dist/tests/harness/vfs/factory.js +6 -2
  346. package/dist/tests/harness/vfs/factory.js.map +1 -1
  347. package/dist/tests/harness/vfs/filesystem.d.ts +4 -3
  348. package/dist/tests/harness/vfs/filesystem.js +11 -7
  349. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  350. package/dist/tests/harness/vfs/pathValidation.js +30 -26
  351. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  352. package/dist/tests/importStatementUtils.test.js +25 -25
  353. package/dist/tests/importStatementUtils.test.js.map +1 -1
  354. package/dist/tests/ipythonMode.test.js +6 -6
  355. package/dist/tests/ipythonMode.test.js.map +1 -1
  356. package/dist/tests/localizer.test.js +5 -1
  357. package/dist/tests/localizer.test.js.map +1 -1
  358. package/dist/tests/logger.test.js +5 -1
  359. package/dist/tests/logger.test.js.map +1 -1
  360. package/dist/tests/parseTreeUtils.test.js +10 -10
  361. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  362. package/dist/tests/parser.test.js +13 -9
  363. package/dist/tests/parser.test.js.map +1 -1
  364. package/dist/tests/pathUtils.test.js +5 -1
  365. package/dist/tests/pathUtils.test.js.map +1 -1
  366. package/dist/tests/pyrightFileSystem.test.js +48 -1
  367. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  368. package/dist/tests/sourceFile.test.js +5 -1
  369. package/dist/tests/sourceFile.test.js.map +1 -1
  370. package/dist/tests/sourceMapperUtils.test.js +5 -1
  371. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  372. package/dist/tests/stringUtils.test.js +10 -6
  373. package/dist/tests/stringUtils.test.js.map +1 -1
  374. package/dist/tests/symbolNameUtils.test.js +5 -1
  375. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  376. package/dist/tests/testState.test.js +5 -1
  377. package/dist/tests/testState.test.js.map +1 -1
  378. package/dist/tests/testUtils.js +11 -7
  379. package/dist/tests/testUtils.js.map +1 -1
  380. package/dist/tests/textRange.test.js +5 -1
  381. package/dist/tests/textRange.test.js.map +1 -1
  382. package/dist/tests/tokenizer.test.js +463 -459
  383. package/dist/tests/tokenizer.test.js.map +1 -1
  384. package/dist/tests/typeEvaluator1.test.js +22 -7
  385. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  386. package/dist/tests/typeEvaluator2.test.js +14 -6
  387. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  388. package/dist/tests/typeEvaluator3.test.js +23 -12
  389. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  390. package/dist/tests/typeEvaluator4.test.js +16 -4
  391. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  392. package/dist/tests/typeEvaluator5.test.js +13 -5
  393. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  394. package/dist/tests/typePrinter.test.js +44 -40
  395. package/dist/tests/typePrinter.test.js.map +1 -1
  396. package/dist/tests/workspaceEditUtils.test.js +5 -1
  397. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  398. package/dist/tests/zipfs.test.js +5 -1
  399. package/dist/tests/zipfs.test.js.map +1 -1
  400. package/dist/workspaceFactory.js +2 -2
  401. package/dist/workspaceFactory.js.map +1 -1
  402. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"typeVarContext.js","sourceRoot":"","sources":["../../../src/analyzer/typeVarContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeVarContext.js","sourceRoot":"","sources":["../../../src/analyzer/typeVarContext.ts"],"names":[],"mappings":"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"}
@@ -37,34 +37,34 @@ class TypeWalker {
37
37
  this.visitTypeAlias(type);
38
38
  }
39
39
  switch (type.category) {
40
- case 0 /* Unbound */:
40
+ case 0 /* TypeCategory.Unbound */:
41
41
  this.visitUnbound(type);
42
42
  break;
43
- case 2 /* Any */:
43
+ case 2 /* TypeCategory.Any */:
44
44
  this.visitAny(type);
45
45
  break;
46
- case 1 /* Unknown */:
46
+ case 1 /* TypeCategory.Unknown */:
47
47
  this.visitUnknown(type);
48
48
  break;
49
- case 3 /* Never */:
49
+ case 3 /* TypeCategory.Never */:
50
50
  this.visitNever(type);
51
51
  break;
52
- case 4 /* Function */:
52
+ case 4 /* TypeCategory.Function */:
53
53
  this.visitFunction(type);
54
54
  break;
55
- case 5 /* OverloadedFunction */:
55
+ case 5 /* TypeCategory.OverloadedFunction */:
56
56
  this.visitOverloadedFunction(type);
57
57
  break;
58
- case 6 /* Class */:
58
+ case 6 /* TypeCategory.Class */:
59
59
  this.visitClass(type);
60
60
  break;
61
- case 7 /* Module */:
61
+ case 7 /* TypeCategory.Module */:
62
62
  this.visitModule(type);
63
63
  break;
64
- case 8 /* Union */:
64
+ case 8 /* TypeCategory.Union */:
65
65
  this.visitUnion(type);
66
66
  break;
67
- case 9 /* TypeVar */:
67
+ case 9 /* TypeCategory.TypeVar */:
68
68
  this.visitTypeVar(type);
69
69
  break;
70
70
  default:
@@ -10,7 +10,11 @@
10
10
  */
11
11
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
12
  if (k2 === undefined) k2 = k;
13
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
14
18
  }) : (function(o, m, k, k2) {
15
19
  if (k2 === undefined) k2 = k;
16
20
  o[k2] = m[k];
@@ -56,30 +60,30 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
56
60
  }
57
61
  else {
58
62
  const nameArg = argList[0];
59
- if (nameArg.argumentCategory !== 0 /* Simple */ ||
63
+ if (nameArg.argumentCategory !== 0 /* ArgumentCategory.Simple */ ||
60
64
  !nameArg.valueExpression ||
61
- nameArg.valueExpression.nodeType !== 48 /* StringList */) {
65
+ nameArg.valueExpression.nodeType !== 48 /* ParseNodeType.StringList */) {
62
66
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictFirstArg(), argList[0].valueExpression || errorNode);
63
67
  }
64
68
  else {
65
69
  className = nameArg.valueExpression.strings.map((s) => s.value).join('');
66
70
  }
67
71
  }
68
- const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* TypedDictClass */, ParseTreeUtils.getTypeSourceId(errorNode),
72
+ const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* ClassTypeFlags.TypedDictClass */, ParseTreeUtils.getTypeSourceId(errorNode),
69
73
  /* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
70
74
  classType.details.baseClasses.push(typedDictClass);
71
75
  (0, typeUtils_1.computeMroLinearization)(classType);
72
76
  const classFields = classType.details.fields;
73
- classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 64 /* IgnoredForProtocolMatch */, classType));
77
+ classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 64 /* SymbolFlags.IgnoredForProtocolMatch */, classType));
74
78
  let usingDictSyntax = false;
75
79
  if (argList.length < 2) {
76
80
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictSecondArgDict(), errorNode);
77
81
  }
78
82
  else {
79
83
  const entriesArg = argList[1];
80
- if (entriesArg.argumentCategory === 0 /* Simple */ &&
84
+ if (entriesArg.argumentCategory === 0 /* ArgumentCategory.Simple */ &&
81
85
  entriesArg.valueExpression &&
82
- entriesArg.valueExpression.nodeType === 15 /* Dictionary */) {
86
+ entriesArg.valueExpression.nodeType === 15 /* ParseNodeType.Dictionary */) {
83
87
  usingDictSyntax = true;
84
88
  getTypedDictFieldsFromDictSyntax(evaluator, entriesArg.valueExpression, classFields, /* isInline */ false);
85
89
  }
@@ -96,10 +100,10 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
96
100
  }
97
101
  // Record names in a map to detect duplicates.
98
102
  entrySet.add(entry.name.value);
99
- const newSymbol = new symbol_1.Symbol(8 /* InstanceMember */);
103
+ const newSymbol = new symbol_1.Symbol(8 /* SymbolFlags.InstanceMember */);
100
104
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
101
105
  const declaration = {
102
- type: 1 /* Variable */,
106
+ type: 1 /* DeclarationType.Variable */,
103
107
  node: entry.name,
104
108
  path: fileInfo.filePath,
105
109
  typeAnnotationNode: entry.valueExpression,
@@ -120,13 +124,13 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
120
124
  for (const arg of argList.slice(2)) {
121
125
  if (((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'total') {
122
126
  if (!arg.valueExpression ||
123
- arg.valueExpression.nodeType !== 11 /* Constant */ ||
124
- !(arg.valueExpression.constType === 15 /* False */ ||
125
- arg.valueExpression.constType === 33 /* True */)) {
127
+ arg.valueExpression.nodeType !== 11 /* ParseNodeType.Constant */ ||
128
+ !(arg.valueExpression.constType === 15 /* KeywordType.False */ ||
129
+ arg.valueExpression.constType === 33 /* KeywordType.True */)) {
126
130
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictBoolParam().format({ name: arg.name.value }), arg.valueExpression || errorNode);
127
131
  }
128
- else if (arg.name.value === 'total' && arg.valueExpression.constType === 15 /* False */) {
129
- classType.details.flags |= 256 /* CanOmitDictValues */;
132
+ else if (arg.name.value === 'total' && arg.valueExpression.constType === 15 /* KeywordType.False */) {
133
+ classType.details.flags |= 256 /* ClassTypeFlags.CanOmitDictValues */;
130
134
  }
131
135
  }
132
136
  else {
@@ -142,7 +146,7 @@ exports.createTypedDictType = createTypedDictType;
142
146
  function createTypedDictTypeInlined(evaluator, dictNode, typedDictClass) {
143
147
  const fileInfo = AnalyzerNodeInfo.getFileInfo(dictNode);
144
148
  const className = '<TypedDict>';
145
- const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(dictNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* TypedDictClass */, ParseTreeUtils.getTypeSourceId(dictNode),
149
+ const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(dictNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* ClassTypeFlags.TypedDictClass */, ParseTreeUtils.getTypeSourceId(dictNode),
146
150
  /* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
147
151
  classType.details.baseClasses.push(typedDictClass);
148
152
  (0, typeUtils_1.computeMroLinearization)(classType);
@@ -154,9 +158,9 @@ exports.createTypedDictTypeInlined = createTypedDictTypeInlined;
154
158
  function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFinal) {
155
159
  (0, debug_1.assert)(types_1.ClassType.isTypedDictClass(classType));
156
160
  // Synthesize a __new__ method.
157
- const newType = types_1.FunctionType.createSynthesizedInstance('__new__', 1 /* ConstructorMethod */);
161
+ const newType = types_1.FunctionType.createSynthesizedInstance('__new__', 1 /* FunctionTypeFlags.ConstructorMethod */);
158
162
  types_1.FunctionType.addParameter(newType, {
159
- category: 0 /* Simple */,
163
+ category: 0 /* ParameterCategory.Simple */,
160
164
  name: 'cls',
161
165
  type: classType,
162
166
  hasDeclaredType: true,
@@ -164,9 +168,9 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
164
168
  types_1.FunctionType.addDefaultParameters(newType);
165
169
  newType.details.declaredReturnType = types_1.ClassType.cloneAsInstance(classType);
166
170
  // Synthesize an __init__ method with two overrides.
167
- const initOverride1 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* Overloaded */);
171
+ const initOverride1 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* FunctionTypeFlags.Overloaded */);
168
172
  types_1.FunctionType.addParameter(initOverride1, {
169
- category: 0 /* Simple */,
173
+ category: 0 /* ParameterCategory.Simple */,
170
174
  name: 'self',
171
175
  type: types_1.ClassType.cloneAsInstance(classType),
172
176
  hasDeclaredType: true,
@@ -174,25 +178,25 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
174
178
  initOverride1.details.declaredReturnType = evaluator.getNoneType();
175
179
  // The first parameter must be positional-only.
176
180
  types_1.FunctionType.addParameter(initOverride1, {
177
- category: 0 /* Simple */,
181
+ category: 0 /* ParameterCategory.Simple */,
178
182
  name: '__map',
179
183
  type: types_1.ClassType.cloneAsInstance(classType),
180
184
  hasDeclaredType: true,
181
185
  });
182
186
  types_1.FunctionType.addParameter(initOverride1, {
183
- category: 0 /* Simple */,
187
+ category: 0 /* ParameterCategory.Simple */,
184
188
  name: '',
185
189
  type: types_1.UnknownType.create(),
186
190
  });
187
191
  // All subsequent parameters must be named, so insert an empty "*".
188
192
  types_1.FunctionType.addParameter(initOverride1, {
189
- category: 1 /* ArgsList */,
193
+ category: 1 /* ParameterCategory.ArgsList */,
190
194
  type: types_1.AnyType.create(),
191
195
  hasDeclaredType: true,
192
196
  });
193
- const initOverride2 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* Overloaded */);
197
+ const initOverride2 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* FunctionTypeFlags.Overloaded */);
194
198
  types_1.FunctionType.addParameter(initOverride2, {
195
- category: 0 /* Simple */,
199
+ category: 0 /* ParameterCategory.Simple */,
196
200
  name: 'self',
197
201
  type: types_1.ClassType.cloneAsInstance(classType),
198
202
  hasDeclaredType: true,
@@ -200,7 +204,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
200
204
  initOverride2.details.declaredReturnType = evaluator.getNoneType();
201
205
  // All parameters must be named, so insert an empty "*".
202
206
  types_1.FunctionType.addParameter(initOverride2, {
203
- category: 1 /* ArgsList */,
207
+ category: 1 /* ParameterCategory.ArgsList */,
204
208
  type: types_1.AnyType.create(),
205
209
  hasDeclaredType: true,
206
210
  });
@@ -209,14 +213,14 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
209
213
  let allEntriesAreReadOnly = true;
210
214
  entries.forEach((entry, name) => {
211
215
  types_1.FunctionType.addParameter(initOverride1, {
212
- category: 0 /* Simple */,
216
+ category: 0 /* ParameterCategory.Simple */,
213
217
  name,
214
218
  hasDefault: true,
215
219
  type: entry.valueType,
216
220
  hasDeclaredType: true,
217
221
  });
218
222
  types_1.FunctionType.addParameter(initOverride2, {
219
- category: 0 /* Simple */,
223
+ category: 0 /* ParameterCategory.Simple */,
220
224
  name,
221
225
  hasDefault: !entry.isRequired,
222
226
  type: entry.valueType,
@@ -231,28 +235,28 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
231
235
  });
232
236
  const symbolTable = classType.details.fields;
233
237
  const initType = types_1.OverloadedFunctionType.create([initOverride1, initOverride2]);
234
- symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* ClassMember */, initType));
235
- symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* ClassMember */, newType));
238
+ symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
239
+ symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, newType));
236
240
  const strClass = evaluator.getBuiltInType(node, 'str');
237
241
  // Synthesize a "get", pop, and setdefault method for each named entry.
238
242
  if ((0, types_1.isInstantiableClass)(strClass)) {
239
243
  const selfParam = {
240
- category: 0 /* Simple */,
244
+ category: 0 /* ParameterCategory.Simple */,
241
245
  name: 'self',
242
246
  type: types_1.ClassType.cloneAsInstance(classType),
243
247
  hasDeclaredType: true,
244
248
  };
245
249
  function createDefaultTypeVar(func) {
246
250
  let defaultTypeVar = types_1.TypeVarType.createInstance(`__TDefault`);
247
- defaultTypeVar = types_1.TypeVarType.cloneForScopeId(defaultTypeVar, func.details.typeVarScopeId, classType.details.name, 1 /* Function */);
251
+ defaultTypeVar = types_1.TypeVarType.cloneForScopeId(defaultTypeVar, func.details.typeVarScopeId, classType.details.name, 1 /* TypeVarScopeType.Function */);
248
252
  return defaultTypeVar;
249
253
  }
250
254
  function createGetMethod(keyType, valueType, includeDefault, isEntryRequired = false, defaultTypeMatchesField = false) {
251
- const getOverload = types_1.FunctionType.createSynthesizedInstance('get', 256 /* Overloaded */);
255
+ const getOverload = types_1.FunctionType.createSynthesizedInstance('get', 256 /* FunctionTypeFlags.Overloaded */);
252
256
  types_1.FunctionType.addParameter(getOverload, selfParam);
253
257
  getOverload.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(node);
254
258
  types_1.FunctionType.addParameter(getOverload, {
255
- category: 0 /* Simple */,
259
+ category: 0 /* ParameterCategory.Simple */,
256
260
  name: 'k',
257
261
  type: keyType,
258
262
  hasDeclaredType: true,
@@ -277,7 +281,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
277
281
  returnType = defaultParamType;
278
282
  }
279
283
  types_1.FunctionType.addParameter(getOverload, {
280
- category: 0 /* Simple */,
284
+ category: 0 /* ParameterCategory.Simple */,
281
285
  name: 'default',
282
286
  type: defaultParamType,
283
287
  hasDeclaredType: true,
@@ -293,16 +297,16 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
293
297
  }
294
298
  function createPopMethods(keyType, valueType, isEntryRequired) {
295
299
  const keyParam = {
296
- category: 0 /* Simple */,
300
+ category: 0 /* ParameterCategory.Simple */,
297
301
  name: 'k',
298
302
  type: keyType,
299
303
  hasDeclaredType: true,
300
304
  };
301
- const popOverload1 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* Overloaded */);
305
+ const popOverload1 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* FunctionTypeFlags.Overloaded */);
302
306
  types_1.FunctionType.addParameter(popOverload1, selfParam);
303
307
  types_1.FunctionType.addParameter(popOverload1, keyParam);
304
308
  popOverload1.details.declaredReturnType = valueType;
305
- const popOverload2 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* Overloaded */);
309
+ const popOverload2 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* FunctionTypeFlags.Overloaded */);
306
310
  types_1.FunctionType.addParameter(popOverload2, selfParam);
307
311
  types_1.FunctionType.addParameter(popOverload2, keyParam);
308
312
  popOverload2.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(node);
@@ -320,7 +324,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
320
324
  returnType = defaultParamType;
321
325
  }
322
326
  types_1.FunctionType.addParameter(popOverload2, {
323
- category: 0 /* Simple */,
327
+ category: 0 /* ParameterCategory.Simple */,
324
328
  name: 'default',
325
329
  hasDeclaredType: true,
326
330
  type: defaultParamType,
@@ -330,16 +334,16 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
330
334
  return [popOverload1, popOverload2];
331
335
  }
332
336
  function createSetDefaultMethod(keyType, valueType) {
333
- const setDefaultOverload = types_1.FunctionType.createSynthesizedInstance('setdefault', 256 /* Overloaded */);
337
+ const setDefaultOverload = types_1.FunctionType.createSynthesizedInstance('setdefault', 256 /* FunctionTypeFlags.Overloaded */);
334
338
  types_1.FunctionType.addParameter(setDefaultOverload, selfParam);
335
339
  types_1.FunctionType.addParameter(setDefaultOverload, {
336
- category: 0 /* Simple */,
340
+ category: 0 /* ParameterCategory.Simple */,
337
341
  name: 'k',
338
342
  hasDeclaredType: true,
339
343
  type: keyType,
340
344
  });
341
345
  types_1.FunctionType.addParameter(setDefaultOverload, {
342
- category: 0 /* Simple */,
346
+ category: 0 /* ParameterCategory.Simple */,
343
347
  name: 'default',
344
348
  hasDeclaredType: true,
345
349
  type: valueType,
@@ -348,10 +352,10 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
348
352
  return setDefaultOverload;
349
353
  }
350
354
  function createDelItemMethod(keyType) {
351
- const delItemOverload = types_1.FunctionType.createSynthesizedInstance('delitem', 256 /* Overloaded */);
355
+ const delItemOverload = types_1.FunctionType.createSynthesizedInstance('delitem', 256 /* FunctionTypeFlags.Overloaded */);
352
356
  types_1.FunctionType.addParameter(delItemOverload, selfParam);
353
357
  types_1.FunctionType.addParameter(delItemOverload, {
354
- category: 0 /* Simple */,
358
+ category: 0 /* ParameterCategory.Simple */,
355
359
  name: 'k',
356
360
  hasDeclaredType: true,
357
361
  type: keyType,
@@ -361,17 +365,17 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
361
365
  }
362
366
  function createUpdateMethod() {
363
367
  // Overload 1: update(__m: Partial[<writable fields>], /)
364
- const updateMethod1 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
368
+ const updateMethod1 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
365
369
  types_1.FunctionType.addParameter(updateMethod1, selfParam);
366
370
  // Overload 2: update(__m: Iterable[tuple[<name>, <type>]], /)
367
- const updateMethod2 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
371
+ const updateMethod2 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
368
372
  types_1.FunctionType.addParameter(updateMethod2, selfParam);
369
373
  // Overload 3: update(*, <name>: <type>, ...)
370
- const updateMethod3 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
374
+ const updateMethod3 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
371
375
  types_1.FunctionType.addParameter(updateMethod3, selfParam);
372
376
  // If all entries are read-only, don't allow updates.
373
377
  types_1.FunctionType.addParameter(updateMethod1, {
374
- category: 0 /* Simple */,
378
+ category: 0 /* ParameterCategory.Simple */,
375
379
  name: '__m',
376
380
  hasDeclaredType: true,
377
381
  type: allEntriesAreReadOnly
@@ -379,12 +383,12 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
379
383
  : types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForPartialTypedDict(classType)),
380
384
  });
381
385
  types_1.FunctionType.addParameter(updateMethod1, {
382
- category: 0 /* Simple */,
386
+ category: 0 /* ParameterCategory.Simple */,
383
387
  name: '',
384
388
  type: types_1.AnyType.create(),
385
389
  });
386
390
  types_1.FunctionType.addParameter(updateMethod3, {
387
- category: 1 /* ArgsList */,
391
+ category: 1 /* ParameterCategory.ArgsList */,
388
392
  name: '',
389
393
  hasDeclaredType: false,
390
394
  type: types_1.UnknownType.create(),
@@ -409,7 +413,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
409
413
  }
410
414
  // For writable entries, add a keyword argument.
411
415
  types_1.FunctionType.addParameter(updateMethod3, {
412
- category: 0 /* Simple */,
416
+ category: 0 /* ParameterCategory.Simple */,
413
417
  name,
414
418
  hasDeclaredType: true,
415
419
  hasDefault: true,
@@ -422,7 +426,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
422
426
  if (iterableClass && (0, types_1.isInstantiableClass)(iterableClass)) {
423
427
  const iterableType = types_1.ClassType.cloneAsInstance(iterableClass);
424
428
  types_1.FunctionType.addParameter(updateMethod2, {
425
- category: 0 /* Simple */,
429
+ category: 0 /* ParameterCategory.Simple */,
426
430
  name: '__m',
427
431
  hasDeclaredType: true,
428
432
  type: types_1.ClassType.cloneForSpecialization(iterableType, [(0, types_1.combineTypes)(tuplesToCombine)],
@@ -430,7 +434,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
430
434
  });
431
435
  }
432
436
  types_1.FunctionType.addParameter(updateMethod2, {
433
- category: 0 /* Simple */,
437
+ category: 0 /* ParameterCategory.Simple */,
434
438
  name: '',
435
439
  type: types_1.AnyType.create(),
436
440
  });
@@ -474,24 +478,24 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
474
478
  const strType = types_1.ClassType.cloneAsInstance(strClass);
475
479
  getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ false));
476
480
  getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ true));
477
- symbolTable.set('get', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(getOverloads)));
481
+ symbolTable.set('get', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(getOverloads)));
478
482
  if (popOverloads.length > 0) {
479
- symbolTable.set('pop', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(popOverloads)));
483
+ symbolTable.set('pop', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(popOverloads)));
480
484
  }
481
485
  if (setDefaultOverloads.length > 0) {
482
- symbolTable.set('setdefault', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(setDefaultOverloads)));
486
+ symbolTable.set('setdefault', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(setDefaultOverloads)));
483
487
  }
484
488
  if (!allEntriesAreReadOnly) {
485
- symbolTable.set('__delitem__', symbol_1.Symbol.createWithType(4 /* ClassMember */, createDelItemMethod(strType)));
489
+ symbolTable.set('__delitem__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createDelItemMethod(strType)));
486
490
  }
487
- symbolTable.set('update', symbol_1.Symbol.createWithType(4 /* ClassMember */, createUpdateMethod()));
491
+ symbolTable.set('update', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createUpdateMethod()));
488
492
  // If the TypedDict is final and all of its entries are NotRequired,
489
493
  // add a "clear" and "popitem" method.
490
494
  if (isClassFinal && allEntriesAreNotRequired && !allEntriesAreReadOnly) {
491
495
  const clearMethod = types_1.FunctionType.createSynthesizedInstance('clear');
492
496
  types_1.FunctionType.addParameter(clearMethod, selfParam);
493
497
  clearMethod.details.declaredReturnType = evaluator.getNoneType();
494
- symbolTable.set('clear', symbol_1.Symbol.createWithType(4 /* ClassMember */, clearMethod));
498
+ symbolTable.set('clear', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, clearMethod));
495
499
  const popItemMethod = types_1.FunctionType.createSynthesizedInstance('popitem');
496
500
  types_1.FunctionType.addParameter(popItemMethod, selfParam);
497
501
  let tupleType = evaluator.getTupleClassType();
@@ -506,7 +510,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
506
510
  tupleType = types_1.UnknownType.create();
507
511
  }
508
512
  popItemMethod.details.declaredReturnType = tupleType;
509
- symbolTable.set('popitem', symbol_1.Symbol.createWithType(4 /* ClassMember */, popItemMethod));
513
+ symbolTable.set('popitem', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, popItemMethod));
510
514
  }
511
515
  }
512
516
  }
@@ -553,11 +557,11 @@ function getTypedDictFieldsFromDictSyntax(evaluator, entryDict, classFields, isI
553
557
  const entrySet = new Set();
554
558
  const fileInfo = AnalyzerNodeInfo.getFileInfo(entryDict);
555
559
  entryDict.entries.forEach((entry) => {
556
- if (entry.nodeType !== 17 /* DictionaryKeyEntry */) {
560
+ if (entry.nodeType !== 17 /* ParseNodeType.DictionaryKeyEntry */) {
557
561
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictSecondArgDictEntry(), entry);
558
562
  return;
559
563
  }
560
- if (entry.keyExpression.nodeType !== 48 /* StringList */) {
564
+ if (entry.keyExpression.nodeType !== 48 /* ParseNodeType.StringList */) {
561
565
  evaluator.addError(localize_1.Localizer.Diagnostic.typedDictEntryName(), entry.keyExpression);
562
566
  return;
563
567
  }
@@ -572,9 +576,9 @@ function getTypedDictFieldsFromDictSyntax(evaluator, entryDict, classFields, isI
572
576
  }
573
577
  // Record names in a set to detect duplicates.
574
578
  entrySet.add(entryName);
575
- const newSymbol = new symbol_1.Symbol(8 /* InstanceMember */);
579
+ const newSymbol = new symbol_1.Symbol(8 /* SymbolFlags.InstanceMember */);
576
580
  const declaration = {
577
- type: 1 /* Variable */,
581
+ type: 1 /* DeclarationType.Variable */,
578
582
  node: entry.keyExpression,
579
583
  path: fileInfo.filePath,
580
584
  typeAnnotationNode: entry.valueExpression,
@@ -600,6 +604,8 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
600
604
  if ((0, types_1.isInstantiableClass)(baseClassType) && types_1.ClassType.isTypedDictClass(baseClassType)) {
601
605
  const specializedBaseClassType = (0, typeUtils_1.partiallySpecializeType)(baseClassType, classType);
602
606
  (0, debug_1.assert)((0, types_1.isClass)(specializedBaseClassType));
607
+ // Recursively gather keys from parent classes. Don't report any errors
608
+ // in these cases because they will be reported within that class.
603
609
  getTypedDictMembersForClassRecursive(evaluator, specializedBaseClassType, keyMap, recursionCount);
604
610
  }
605
611
  });
@@ -609,7 +615,7 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
609
615
  if (!symbol.isIgnoredForProtocolMatch()) {
610
616
  // Only variables (not functions, classes, etc.) are considered.
611
617
  const lastDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(symbol);
612
- if (lastDecl && lastDecl.type === 1 /* Variable */) {
618
+ if (lastDecl && lastDecl.type === 1 /* DeclarationType.Variable */) {
613
619
  let valueType = evaluator.getEffectiveTypeOfSymbol(symbol);
614
620
  valueType = (0, typeUtils_1.applySolvedTypeVars)(valueType, typeVarContext);
615
621
  let isRequired = !types_1.ClassType.isCanOmitDictValues(classType);
@@ -623,38 +629,6 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
623
629
  if (isReadOnlyTypedDictVariable(evaluator, symbol)) {
624
630
  isReadOnly = true;
625
631
  }
626
- // If a base class already declares this field, verify that the
627
- // subclass isn't trying to change its type. That's expressly
628
- // forbidden in PEP 589.
629
- const existingEntry = keyMap.get(name);
630
- if (existingEntry) {
631
- let isTypeCompatible;
632
- const diag = new diagnostic_1.DiagnosticAddendum();
633
- // If the field is read-only, the type is covariant. If it's not
634
- // read-only, it's invariant.
635
- if (existingEntry.isReadOnly) {
636
- isTypeCompatible = evaluator.assignType(existingEntry.valueType, valueType, diag.createAddendum());
637
- }
638
- else {
639
- isTypeCompatible = (0, types_1.isTypeSame)(existingEntry.valueType, valueType);
640
- }
641
- if (!isTypeCompatible) {
642
- diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typedDictFieldTypeRedefinition().format({
643
- parentType: evaluator.printType(existingEntry.valueType),
644
- childType: evaluator.printType(valueType),
645
- }));
646
- evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(lastDecl.node).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typedDictFieldTypeRedefinition().format({
647
- name,
648
- }) + diag.getString(), lastDecl.node);
649
- }
650
- // Make sure that the derived class isn't marking a previously writable
651
- // entry as read-only.
652
- if (!existingEntry.isReadOnly && isReadOnly) {
653
- evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(lastDecl.node).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typedDictFieldReadOnlyRedefinition().format({
654
- name,
655
- }), lastDecl.node);
656
- }
657
- }
658
632
  keyMap.set(name, {
659
633
  valueType,
660
634
  isReadOnly,
@@ -715,7 +689,7 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
715
689
  let adjustedFlags = flags;
716
690
  // If the dest field is not read-only, we need to enforce invariance.
717
691
  if (!destEntry.isReadOnly) {
718
- adjustedFlags |= 1 /* EnforceInvariance */;
692
+ adjustedFlags |= 1 /* AssignTypeFlags.EnforceInvariance */;
719
693
  }
720
694
  if (!evaluator.assignType(destEntry.valueType, srcEntry.valueType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
721
695
  /* srcTypeVarContext */ undefined, adjustedFlags, recursionCount)) {
@@ -775,7 +749,7 @@ function assignToTypedDict(evaluator, classType, keyTypes, valueTypes, diagAdden
775
749
  // Can we assign the value to the declared type?
776
750
  const subDiag = diagAddendum === null || diagAddendum === void 0 ? void 0 : diagAddendum.createAddendum();
777
751
  if (!evaluator.assignType(symbolEntry.valueType, valueTypes[index].type, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
778
- /* srcTypeVarContext */ undefined, 128 /* RetainLiteralsForTypeVar */)) {
752
+ /* srcTypeVarContext */ undefined, 128 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) {
779
753
  if (subDiag) {
780
754
  subDiag.addMessage(localize_1.Localizer.DiagnosticAddendum.typedDictFieldTypeMismatch().format({
781
755
  name: keyType.literalValue,
@@ -829,7 +803,7 @@ function getTypeOfIndexedTypedDict(evaluator, node, baseType, usage) {
829
803
  return { type: types_1.UnknownType.create() };
830
804
  }
831
805
  // Look for subscript types that are not supported by TypedDict.
832
- if (node.trailingComma || node.items[0].name || node.items[0].argumentCategory !== 0 /* Simple */) {
806
+ if (node.trailingComma || node.items[0].name || node.items[0].argumentCategory !== 0 /* ArgumentCategory.Simple */) {
833
807
  return undefined;
834
808
  }
835
809
  const entries = getTypedDictMembersForClass(evaluator, baseType, /* allowNarrowed */ usage.method === 'get');
@@ -949,7 +923,7 @@ function narrowForKeyAssignment(classType, key) {
949
923
  exports.narrowForKeyAssignment = narrowForKeyAssignment;
950
924
  function isRequiredTypedDictVariable(evaluator, symbol) {
951
925
  return symbol.getDeclarations().some((decl) => {
952
- if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
926
+ if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
953
927
  return false;
954
928
  }
955
929
  const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {
@@ -961,7 +935,7 @@ function isRequiredTypedDictVariable(evaluator, symbol) {
961
935
  }
962
936
  function isNotRequiredTypedDictVariable(evaluator, symbol) {
963
937
  return symbol.getDeclarations().some((decl) => {
964
- if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
938
+ if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
965
939
  return false;
966
940
  }
967
941
  const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {
@@ -973,7 +947,7 @@ function isNotRequiredTypedDictVariable(evaluator, symbol) {
973
947
  }
974
948
  function isReadOnlyTypedDictVariable(evaluator, symbol) {
975
949
  return symbol.getDeclarations().some((decl) => {
976
- if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
950
+ if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
977
951
  return false;
978
952
  }
979
953
  const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {