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

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 (386) 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 +198 -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.js +257 -239
  16. package/dist/analyzer/checker.js.map +1 -1
  17. package/dist/analyzer/codeFlowEngine.d.ts +1 -1
  18. package/dist/analyzer/codeFlowEngine.js +26 -26
  19. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  20. package/dist/analyzer/codeFlowTypes.d.ts +1 -1
  21. package/dist/analyzer/codeFlowTypes.js +23 -23
  22. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  23. package/dist/analyzer/codeFlowUtils.js +39 -37
  24. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  25. package/dist/analyzer/constraintSolver.js +40 -47
  26. package/dist/analyzer/constraintSolver.js.map +1 -1
  27. package/dist/analyzer/constructorTransform.js +8 -8
  28. package/dist/analyzer/constructorTransform.js.map +1 -1
  29. package/dist/analyzer/constructors.js +23 -25
  30. package/dist/analyzer/constructors.js.map +1 -1
  31. package/dist/analyzer/dataClasses.js +67 -63
  32. package/dist/analyzer/dataClasses.js.map +1 -1
  33. package/dist/analyzer/declaration.d.ts +2 -2
  34. package/dist/analyzer/declaration.js +10 -10
  35. package/dist/analyzer/declaration.js.map +1 -1
  36. package/dist/analyzer/declarationUtils.js +41 -41
  37. package/dist/analyzer/declarationUtils.js.map +1 -1
  38. package/dist/analyzer/decorators.js +51 -51
  39. package/dist/analyzer/decorators.js.map +1 -1
  40. package/dist/analyzer/enums.js +27 -27
  41. package/dist/analyzer/enums.js.map +1 -1
  42. package/dist/analyzer/functionTransform.js +4 -4
  43. package/dist/analyzer/functionTransform.js.map +1 -1
  44. package/dist/analyzer/importResolver.d.ts +1 -1
  45. package/dist/analyzer/importResolver.js +21 -17
  46. package/dist/analyzer/importResolver.js.map +1 -1
  47. package/dist/analyzer/importResult.js +1 -1
  48. package/dist/analyzer/importResult.js.map +1 -1
  49. package/dist/analyzer/importStatementUtils.js +31 -27
  50. package/dist/analyzer/importStatementUtils.js.map +1 -1
  51. package/dist/analyzer/namedTuples.js +36 -32
  52. package/dist/analyzer/namedTuples.js.map +1 -1
  53. package/dist/analyzer/operations.js +78 -78
  54. package/dist/analyzer/operations.js.map +1 -1
  55. package/dist/analyzer/packageTypeReport.d.ts +1 -1
  56. package/dist/analyzer/packageTypeReport.js +2 -2
  57. package/dist/analyzer/packageTypeReport.js.map +1 -1
  58. package/dist/analyzer/packageTypeVerifier.js +90 -90
  59. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  60. package/dist/analyzer/parameterUtils.js +14 -14
  61. package/dist/analyzer/parameterUtils.js.map +1 -1
  62. package/dist/analyzer/parentDirectoryCache.d.ts +2 -2
  63. package/dist/analyzer/parseTreeCleaner.js +5 -1
  64. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  65. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  66. package/dist/analyzer/parseTreeUtils.js +383 -379
  67. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  68. package/dist/analyzer/parseTreeWalker.js +161 -157
  69. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  70. package/dist/analyzer/patternMatching.d.ts +1 -1
  71. package/dist/analyzer/patternMatching.js +52 -50
  72. package/dist/analyzer/patternMatching.js.map +1 -1
  73. package/dist/analyzer/program.d.ts +1 -1
  74. package/dist/analyzer/program.js +18 -14
  75. package/dist/analyzer/program.js.map +1 -1
  76. package/dist/analyzer/properties.js +53 -44
  77. package/dist/analyzer/properties.js.map +1 -1
  78. package/dist/analyzer/protocols.js +14 -14
  79. package/dist/analyzer/protocols.js.map +1 -1
  80. package/dist/analyzer/pythonPathUtils.js +5 -1
  81. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  82. package/dist/analyzer/regions.js +3 -3
  83. package/dist/analyzer/regions.js.map +1 -1
  84. package/dist/analyzer/scope.js +8 -8
  85. package/dist/analyzer/scope.js.map +1 -1
  86. package/dist/analyzer/scopeUtils.js +1 -1
  87. package/dist/analyzer/scopeUtils.js.map +1 -1
  88. package/dist/analyzer/service.js +5 -1
  89. package/dist/analyzer/service.js.map +1 -1
  90. package/dist/analyzer/sourceFile.js +25 -21
  91. package/dist/analyzer/sourceFile.js.map +1 -1
  92. package/dist/analyzer/sourceMapper.d.ts +2 -2
  93. package/dist/analyzer/sourceMapper.js +12 -8
  94. package/dist/analyzer/sourceMapper.js.map +1 -1
  95. package/dist/analyzer/staticExpressions.js +40 -40
  96. package/dist/analyzer/staticExpressions.js.map +1 -1
  97. package/dist/analyzer/symbol.d.ts +1 -1
  98. package/dist/analyzer/symbol.js +26 -26
  99. package/dist/analyzer/symbol.js.map +1 -1
  100. package/dist/analyzer/symbolUtils.js +1 -1
  101. package/dist/analyzer/symbolUtils.js.map +1 -1
  102. package/dist/analyzer/testWalker.js +5 -5
  103. package/dist/analyzer/testWalker.js.map +1 -1
  104. package/dist/analyzer/tracePrinter.d.ts +1 -1
  105. package/dist/analyzer/tracePrinter.js +35 -31
  106. package/dist/analyzer/tracePrinter.js.map +1 -1
  107. package/dist/analyzer/typeCacheUtils.js +5 -1
  108. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  109. package/dist/analyzer/typeDocStringUtils.js +13 -9
  110. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  111. package/dist/analyzer/typeEvaluator.js +1233 -1153
  112. package/dist/analyzer/typeEvaluator.js.map +1 -1
  113. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  114. package/dist/analyzer/typeEvaluatorTypes.js +3 -1
  115. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  116. package/dist/analyzer/typeGuards.d.ts +1 -1
  117. package/dist/analyzer/typeGuards.js +79 -65
  118. package/dist/analyzer/typeGuards.js.map +1 -1
  119. package/dist/analyzer/typePrinter.d.ts +1 -1
  120. package/dist/analyzer/typePrinter.js +80 -76
  121. package/dist/analyzer/typePrinter.js.map +1 -1
  122. package/dist/analyzer/typeStubWriter.js +26 -22
  123. package/dist/analyzer/typeStubWriter.js.map +1 -1
  124. package/dist/analyzer/typeUtils.js +123 -123
  125. package/dist/analyzer/typeUtils.js.map +1 -1
  126. package/dist/analyzer/typeVarContext.js +9 -9
  127. package/dist/analyzer/typeVarContext.js.map +1 -1
  128. package/dist/analyzer/typeWalker.js +10 -10
  129. package/dist/analyzer/typedDicts.js +74 -70
  130. package/dist/analyzer/typedDicts.js.map +1 -1
  131. package/dist/analyzer/types.d.ts +16 -11
  132. package/dist/analyzer/types.js +179 -177
  133. package/dist/analyzer/types.js.map +1 -1
  134. package/dist/backgroundAnalysisBase.d.ts +2 -2
  135. package/dist/backgroundAnalysisBase.js +5 -1
  136. package/dist/backgroundAnalysisBase.js.map +1 -1
  137. package/dist/backgroundThreadBase.js +5 -1
  138. package/dist/backgroundThreadBase.js.map +1 -1
  139. package/dist/commands/commandController.js +7 -7
  140. package/dist/commands/commandController.js.map +1 -1
  141. package/dist/commands/commandResult.js +1 -1
  142. package/dist/commands/commandResult.js.map +1 -1
  143. package/dist/commands/commands.js +1 -1
  144. package/dist/commands/commands.js.map +1 -1
  145. package/dist/commands/dumpFileDebugInfoCommand.js +196 -196
  146. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  147. package/dist/commands/quickActionCommand.js +1 -1
  148. package/dist/commands/quickActionCommand.js.map +1 -1
  149. package/dist/common/charCodes.js +1 -1
  150. package/dist/common/charCodes.js.map +1 -1
  151. package/dist/common/chokidarFileWatcherProvider.js +5 -1
  152. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  153. package/dist/common/collectionUtils.d.ts +3 -3
  154. package/dist/common/collectionUtils.js +3 -3
  155. package/dist/common/collectionUtils.js.map +1 -1
  156. package/dist/common/commandLineOptions.d.ts +1 -1
  157. package/dist/common/commandLineOptions.js +5 -5
  158. package/dist/common/commandLineOptions.js.map +1 -1
  159. package/dist/common/configOptions.d.ts +1 -1
  160. package/dist/common/configOptions.js +11 -7
  161. package/dist/common/configOptions.js.map +1 -1
  162. package/dist/common/console.js +7 -3
  163. package/dist/common/console.js.map +1 -1
  164. package/dist/common/core.d.ts +2 -2
  165. package/dist/common/core.js +6 -6
  166. package/dist/common/core.js.map +1 -1
  167. package/dist/common/diagnostic.js +6 -6
  168. package/dist/common/diagnostic.js.map +1 -1
  169. package/dist/common/diagnosticRules.js +1 -1
  170. package/dist/common/diagnosticRules.js.map +1 -1
  171. package/dist/common/diagnosticSink.js +12 -12
  172. package/dist/common/diagnosticSink.js.map +1 -1
  173. package/dist/common/editAction.d.ts +1 -1
  174. package/dist/common/editAction.js +2 -2
  175. package/dist/common/editAction.js.map +1 -1
  176. package/dist/common/envVarUtils.js +5 -1
  177. package/dist/common/envVarUtils.js.map +1 -1
  178. package/dist/common/extensibility.js +1 -1
  179. package/dist/common/extensibility.js.map +1 -1
  180. package/dist/common/fileBasedCancellationUtils.js +5 -1
  181. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  182. package/dist/common/fileSystem.d.ts +1 -0
  183. package/dist/common/fileSystem.js +2 -2
  184. package/dist/common/fileSystem.js.map +1 -1
  185. package/dist/common/fileWatcher.d.ts +2 -2
  186. package/dist/common/fullAccessHost.js +10 -6
  187. package/dist/common/fullAccessHost.js.map +1 -1
  188. package/dist/common/host.d.ts +1 -1
  189. package/dist/common/host.js +2 -2
  190. package/dist/common/host.js.map +1 -1
  191. package/dist/common/lspUtils.js +7 -7
  192. package/dist/common/lspUtils.js.map +1 -1
  193. package/dist/common/memUtils.d.ts +1 -1
  194. package/dist/common/pathUtils.js +12 -8
  195. package/dist/common/pathUtils.js.map +1 -1
  196. package/dist/common/pythonVersion.js +1 -1
  197. package/dist/common/pythonVersion.js.map +1 -1
  198. package/dist/common/realFileSystem.js +5 -1
  199. package/dist/common/realFileSystem.js.map +1 -1
  200. package/dist/common/serviceProvider.d.ts +1 -1
  201. package/dist/common/serviceProvider.js +5 -1
  202. package/dist/common/serviceProvider.js.map +1 -1
  203. package/dist/common/serviceProviderExtensions.js +1 -1
  204. package/dist/common/serviceProviderExtensions.js.map +1 -1
  205. package/dist/common/stringUtils.js +5 -5
  206. package/dist/common/stringUtils.js.map +1 -1
  207. package/dist/common/textEditTracker.js +11 -7
  208. package/dist/common/textEditTracker.js.map +1 -1
  209. package/dist/common/textRange.js +3 -3
  210. package/dist/common/textRange.js.map +1 -1
  211. package/dist/languageServerBase.js +13 -13
  212. package/dist/languageServerBase.js.map +1 -1
  213. package/dist/languageService/autoImporter.d.ts +3 -3
  214. package/dist/languageService/autoImporter.js +12 -8
  215. package/dist/languageService/autoImporter.js.map +1 -1
  216. package/dist/languageService/callHierarchyProvider.js +27 -23
  217. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  218. package/dist/languageService/codeActionProvider.js +8 -8
  219. package/dist/languageService/codeActionProvider.js.map +1 -1
  220. package/dist/languageService/completionProvider.js +166 -162
  221. package/dist/languageService/completionProvider.js.map +1 -1
  222. package/dist/languageService/completionProviderUtils.js +9 -9
  223. package/dist/languageService/completionProviderUtils.js.map +1 -1
  224. package/dist/languageService/definitionProvider.js +14 -10
  225. package/dist/languageService/definitionProvider.js.map +1 -1
  226. package/dist/languageService/documentHighlightProvider.js +7 -3
  227. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  228. package/dist/languageService/documentSymbolCollector.d.ts +1 -1
  229. package/dist/languageService/documentSymbolCollector.js +21 -17
  230. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  231. package/dist/languageService/hoverProvider.js +30 -26
  232. package/dist/languageService/hoverProvider.js.map +1 -1
  233. package/dist/languageService/importSorter.js +1 -1
  234. package/dist/languageService/importSorter.js.map +1 -1
  235. package/dist/languageService/quickActions.js +10 -6
  236. package/dist/languageService/quickActions.js.map +1 -1
  237. package/dist/languageService/referencesProvider.d.ts +1 -1
  238. package/dist/languageService/referencesProvider.js +24 -20
  239. package/dist/languageService/referencesProvider.js.map +1 -1
  240. package/dist/languageService/signatureHelpProvider.js +8 -4
  241. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  242. package/dist/languageService/symbolIndexer.js +8 -4
  243. package/dist/languageService/symbolIndexer.js.map +1 -1
  244. package/dist/languageService/tooltipUtils.js +20 -16
  245. package/dist/languageService/tooltipUtils.js.map +1 -1
  246. package/dist/languageService/workspaceSymbolProvider.js +5 -1
  247. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  248. package/dist/localization/localize.d.ts +7 -9
  249. package/dist/localization/localize.js +5 -4
  250. package/dist/localization/localize.js.map +1 -1
  251. package/dist/localization/package.nls.cs.json +0 -3
  252. package/dist/localization/package.nls.de.json +0 -3
  253. package/dist/localization/package.nls.en-us.json +4 -3
  254. package/dist/localization/package.nls.es.json +0 -3
  255. package/dist/localization/package.nls.fr.json +0 -3
  256. package/dist/localization/package.nls.it.json +0 -3
  257. package/dist/localization/package.nls.ja.json +0 -3
  258. package/dist/localization/package.nls.ko.json +0 -3
  259. package/dist/localization/package.nls.pl.json +0 -3
  260. package/dist/localization/package.nls.pt-br.json +0 -3
  261. package/dist/localization/package.nls.qps-ploc.json +0 -3
  262. package/dist/localization/package.nls.ru.json +0 -3
  263. package/dist/localization/package.nls.tr.json +0 -3
  264. package/dist/localization/package.nls.zh-cn.json +0 -3
  265. package/dist/localization/package.nls.zh-tw.json +0 -3
  266. package/dist/parser/characterStream.js +3 -3
  267. package/dist/parser/characterStream.js.map +1 -1
  268. package/dist/parser/characters.js +13 -9
  269. package/dist/parser/characters.js.map +1 -1
  270. package/dist/parser/parseNodes.d.ts +12 -12
  271. package/dist/parser/parseNodes.js +193 -193
  272. package/dist/parser/parseNodes.js.map +1 -1
  273. package/dist/parser/parser.js +563 -559
  274. package/dist/parser/parser.js.map +1 -1
  275. package/dist/parser/stringTokenUtils.js +47 -47
  276. package/dist/parser/stringTokenUtils.js.map +1 -1
  277. package/dist/parser/tokenizer.js +288 -288
  278. package/dist/parser/tokenizer.js.map +1 -1
  279. package/dist/parser/tokenizerTypes.js +35 -35
  280. package/dist/parser/tokenizerTypes.js.map +1 -1
  281. package/dist/parser/unicode.d.ts +3 -3
  282. package/dist/pyright.js +21 -17
  283. package/dist/pyright.js.map +1 -1
  284. package/dist/pyrightFileSystem.d.ts +1 -0
  285. package/dist/pyrightFileSystem.js +1 -1
  286. package/dist/pyrightFileSystem.js.map +1 -1
  287. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  288. package/dist/tests/chainedSourceFiles.test.js +5 -1
  289. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  290. package/dist/tests/checker.test.js +5 -1
  291. package/dist/tests/checker.test.js.map +1 -1
  292. package/dist/tests/collectionUtils.test.js +5 -1
  293. package/dist/tests/collectionUtils.test.js.map +1 -1
  294. package/dist/tests/common.test.js +5 -1
  295. package/dist/tests/common.test.js.map +1 -1
  296. package/dist/tests/debug.test.js +8 -4
  297. package/dist/tests/debug.test.js.map +1 -1
  298. package/dist/tests/deferred.test.js +5 -1
  299. package/dist/tests/deferred.test.js.map +1 -1
  300. package/dist/tests/diagnosticOverrides.test.js +5 -1
  301. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  302. package/dist/tests/docStringUtils.test.js +5 -1
  303. package/dist/tests/docStringUtils.test.js.map +1 -1
  304. package/dist/tests/filesystem.test.js +5 -1
  305. package/dist/tests/filesystem.test.js.map +1 -1
  306. package/dist/tests/fourSlashParser.test.js +5 -1
  307. package/dist/tests/fourSlashParser.test.js.map +1 -1
  308. package/dist/tests/fourSlashRunner.test.js +5 -1
  309. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  310. package/dist/tests/harness/fourslash/fourSlashParser.js +13 -13
  311. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  312. package/dist/tests/harness/fourslash/fourSlashTypes.js +11 -7
  313. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  314. package/dist/tests/harness/fourslash/runner.d.ts +1 -1
  315. package/dist/tests/harness/fourslash/runner.js +5 -1
  316. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  317. package/dist/tests/harness/fourslash/testLanguageService.js +5 -1
  318. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  319. package/dist/tests/harness/fourslash/testState.Consts.js +6 -2
  320. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  321. package/dist/tests/harness/fourslash/testState.js +17 -13
  322. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  323. package/dist/tests/harness/fourslash/testStateUtils.js +9 -5
  324. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  325. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -1
  326. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  327. package/dist/tests/harness/testHost.js +5 -1
  328. package/dist/tests/harness/testHost.js.map +1 -1
  329. package/dist/tests/harness/utils.d.ts +13 -12
  330. package/dist/tests/harness/utils.js.map +1 -1
  331. package/dist/tests/harness/vfs/factory.js +6 -2
  332. package/dist/tests/harness/vfs/factory.js.map +1 -1
  333. package/dist/tests/harness/vfs/filesystem.d.ts +4 -3
  334. package/dist/tests/harness/vfs/filesystem.js +11 -7
  335. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  336. package/dist/tests/harness/vfs/pathValidation.js +30 -26
  337. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  338. package/dist/tests/importStatementUtils.test.js +25 -25
  339. package/dist/tests/importStatementUtils.test.js.map +1 -1
  340. package/dist/tests/ipythonMode.test.js +6 -6
  341. package/dist/tests/ipythonMode.test.js.map +1 -1
  342. package/dist/tests/localizer.test.js +5 -1
  343. package/dist/tests/localizer.test.js.map +1 -1
  344. package/dist/tests/logger.test.js +5 -1
  345. package/dist/tests/logger.test.js.map +1 -1
  346. package/dist/tests/parseTreeUtils.test.js +10 -10
  347. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  348. package/dist/tests/parser.test.js +13 -9
  349. package/dist/tests/parser.test.js.map +1 -1
  350. package/dist/tests/pathUtils.test.js +5 -1
  351. package/dist/tests/pathUtils.test.js.map +1 -1
  352. package/dist/tests/sourceFile.test.js +5 -1
  353. package/dist/tests/sourceFile.test.js.map +1 -1
  354. package/dist/tests/sourceMapperUtils.test.js +5 -1
  355. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  356. package/dist/tests/stringUtils.test.js +10 -6
  357. package/dist/tests/stringUtils.test.js.map +1 -1
  358. package/dist/tests/symbolNameUtils.test.js +5 -1
  359. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  360. package/dist/tests/testState.test.js +5 -1
  361. package/dist/tests/testState.test.js.map +1 -1
  362. package/dist/tests/testUtils.js +11 -7
  363. package/dist/tests/testUtils.js.map +1 -1
  364. package/dist/tests/textRange.test.js +5 -1
  365. package/dist/tests/textRange.test.js.map +1 -1
  366. package/dist/tests/tokenizer.test.js +463 -459
  367. package/dist/tests/tokenizer.test.js.map +1 -1
  368. package/dist/tests/typeEvaluator1.test.js +14 -2
  369. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  370. package/dist/tests/typeEvaluator2.test.js +11 -3
  371. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  372. package/dist/tests/typeEvaluator3.test.js +11 -3
  373. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  374. package/dist/tests/typeEvaluator4.test.js +10 -2
  375. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  376. package/dist/tests/typeEvaluator5.test.js +5 -1
  377. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  378. package/dist/tests/typePrinter.test.js +44 -40
  379. package/dist/tests/typePrinter.test.js.map +1 -1
  380. package/dist/tests/workspaceEditUtils.test.js +5 -1
  381. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  382. package/dist/tests/zipfs.test.js +5 -1
  383. package/dist/tests/zipfs.test.js.map +1 -1
  384. package/dist/workspaceFactory.js +2 -2
  385. package/dist/workspaceFactory.js.map +1 -1
  386. package/package.json +2 -2
@@ -29,6 +29,7 @@ function formatControlFlowGraph(flowNode) {
29
29
  })(BoxCharacter || (BoxCharacter = {}));
30
30
  let Connection;
31
31
  (function (Connection) {
32
+ Connection[Connection["None"] = 0] = "None";
32
33
  Connection[Connection["Up"] = 1] = "Up";
33
34
  Connection[Connection["Down"] = 2] = "Down";
34
35
  Connection[Connection["Left"] = 4] = "Left";
@@ -264,26 +265,26 @@ function formatControlFlowGraph(flowNode) {
264
265
  const children = getChildren(node);
265
266
  for (let i = 0; i < children.length; i++) {
266
267
  const child = children[i];
267
- let connector = 8 /* Right */;
268
+ let connector = 8 /* Connection.Right */;
268
269
  if (child.lane === node.lane)
269
- connector |= 4 /* Left */;
270
+ connector |= 4 /* Connection.Left */;
270
271
  if (i > 0)
271
- connector |= 1 /* Up */;
272
+ connector |= 1 /* Connection.Up */;
272
273
  if (i < children.length - 1)
273
- connector |= 2 /* Down */;
274
+ connector |= 2 /* Connection.Down */;
274
275
  connectors[node.level][child.lane] |= connector;
275
276
  }
276
277
  if (children.length === 0) {
277
- connectors[node.level][node.lane] |= 16 /* NoChildren */;
278
+ connectors[node.level][node.lane] |= 16 /* Connection.NoChildren */;
278
279
  }
279
280
  const parents = getParents(node);
280
281
  for (let i = 0; i < parents.length; i++) {
281
282
  const parent = parents[i];
282
- let connector = 4 /* Left */;
283
+ let connector = 4 /* Connection.Left */;
283
284
  if (i > 0)
284
- connector |= 1 /* Up */;
285
+ connector |= 1 /* Connection.Up */;
285
286
  if (i < parents.length - 1)
286
- connector |= 2 /* Down */;
287
+ connector |= 2 /* Connection.Down */;
287
288
  connectors[node.level - 1][parent.lane] |= connector;
288
289
  }
289
290
  }
@@ -294,11 +295,12 @@ function formatControlFlowGraph(flowNode) {
294
295
  const above = lane > 0 ? connectors[column][lane - 1] : 0;
295
296
  let connector = connectors[column][lane];
296
297
  if (!connector) {
297
- if (left & 8 /* Right */) {
298
- connector |= 12 /* LeftRight */;
298
+ connector = 0 /* Connection.None */;
299
+ if (left & 8 /* Connection.Right */) {
300
+ connector |= 12 /* Connection.LeftRight */;
299
301
  }
300
- if (above & 2 /* Down */) {
301
- connector |= 3 /* UpDown */;
302
+ if (above & 2 /* Connection.Down */) {
303
+ connector |= 3 /* Connection.UpDown */;
302
304
  }
303
305
  connectors[column][lane] = connector;
304
306
  }
@@ -307,7 +309,7 @@ function formatControlFlowGraph(flowNode) {
307
309
  for (let column = 0; column < columnCount; column++) {
308
310
  for (let lane = 0; lane < lanes.length; lane++) {
309
311
  const connector = connectors[column][lane];
310
- const fill = connector & 4 /* Left */ ? "\u2500" /* lr */ : ' ';
312
+ const fill = connector & 4 /* Connection.Left */ ? "\u2500" /* BoxCharacter.lr */ : ' ';
311
313
  const node = grid[column][lane];
312
314
  if (!node) {
313
315
  if (column < columnCount - 1) {
@@ -322,8 +324,8 @@ function formatControlFlowGraph(flowNode) {
322
324
  }
323
325
  }
324
326
  writeLane(lane, getBoxCharacter(connector));
325
- writeLane(lane, connector & 8 /* Right */ && column < columnCount - 1 && !grid[column + 1][lane]
326
- ? "\u2500" /* lr */
327
+ writeLane(lane, connector & 8 /* Connection.Right */ && column < columnCount - 1 && !grid[column + 1][lane]
328
+ ? "\u2500" /* BoxCharacter.lr */
327
329
  : ' ');
328
330
  }
329
331
  }
@@ -334,28 +336,28 @@ function formatControlFlowGraph(flowNode) {
334
336
  }
335
337
  function getBoxCharacter(connector) {
336
338
  switch (connector) {
337
- case 3 /* UpDown */:
338
- return "\u2502" /* ud */;
339
- case 12 /* LeftRight */:
340
- return "\u2500" /* lr */;
341
- case 5 /* UpLeft */:
342
- return "\u256F" /* ul */;
343
- case 9 /* UpRight */:
344
- return "\u2570" /* ur */;
345
- case 6 /* DownLeft */:
346
- return "\u256E" /* dl */;
347
- case 10 /* DownRight */:
348
- return "\u256D" /* dr */;
349
- case 7 /* UpDownLeft */:
350
- return "\u2524" /* udl */;
351
- case 11 /* UpDownRight */:
352
- return "\u251C" /* udr */;
353
- case 13 /* UpLeftRight */:
354
- return "\u2534" /* ulr */;
355
- case 14 /* DownLeftRight */:
356
- return "\u252C" /* dlr */;
357
- case 15 /* UpDownLeftRight */:
358
- return "\u256B" /* udlr */;
339
+ case 3 /* Connection.UpDown */:
340
+ return "\u2502" /* BoxCharacter.ud */;
341
+ case 12 /* Connection.LeftRight */:
342
+ return "\u2500" /* BoxCharacter.lr */;
343
+ case 5 /* Connection.UpLeft */:
344
+ return "\u256F" /* BoxCharacter.ul */;
345
+ case 9 /* Connection.UpRight */:
346
+ return "\u2570" /* BoxCharacter.ur */;
347
+ case 6 /* Connection.DownLeft */:
348
+ return "\u256E" /* BoxCharacter.dl */;
349
+ case 10 /* Connection.DownRight */:
350
+ return "\u256D" /* BoxCharacter.dr */;
351
+ case 7 /* Connection.UpDownLeft */:
352
+ return "\u2524" /* BoxCharacter.udl */;
353
+ case 11 /* Connection.UpDownRight */:
354
+ return "\u251C" /* BoxCharacter.udr */;
355
+ case 13 /* Connection.UpLeftRight */:
356
+ return "\u2534" /* BoxCharacter.ulr */;
357
+ case 14 /* Connection.DownLeftRight */:
358
+ return "\u252C" /* BoxCharacter.dlr */;
359
+ case 15 /* Connection.UpDownLeftRight */:
360
+ return "\u256B" /* BoxCharacter.udlr */;
359
361
  }
360
362
  return ' ';
361
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codeFlowUtils.js","sourceRoot":"","sources":["../../../src/analyzer/codeFlowUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeFlowUtils.js","sourceRoot":"","sources":["../../../src/analyzer/codeFlowUtils.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ const logTypeVarContextUpdates = false;
30
30
  // to produce the narrowest type that meets all of the requirements. If the type var context
31
31
  // has been "locked", it simply validates that the srcType is compatible (with no attempt
32
32
  // to widen or narrow).
33
- function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext, flags = 0 /* Default */, recursionCount = 0) {
33
+ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext, flags = 0 /* AssignTypeFlags.Default */, recursionCount = 0) {
34
34
  if (logTypeVarContextUpdates) {
35
35
  const indent = ' '.repeat(recursionCount * 2);
36
36
  console.log(`${indent}`);
@@ -43,8 +43,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
43
43
  logTypeVarContext(evaluator, typeVarContext, indent);
44
44
  }
45
45
  let isTypeVarInScope = true;
46
- const isInvariant = (flags & 1 /* EnforceInvariance */) !== 0;
47
- const isContravariant = (flags & 2 /* ReverseTypeVarMatching */) !== 0;
46
+ const isInvariant = (flags & 1 /* AssignTypeFlags.EnforceInvariance */) !== 0;
47
+ const isContravariant = (flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) !== 0;
48
48
  // If the TypeVar doesn't have a scope ID, then it's being used
49
49
  // outside of a valid TypeVar scope. This will be reported as a
50
50
  // separate error. Just ignore this case to avoid redundant errors.
@@ -71,7 +71,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
71
71
  }
72
72
  // If we're in "ignore type var scope" mode, don't generate
73
73
  // an error in this path.
74
- if ((flags & 512 /* IgnoreTypeVarScope */) !== 0) {
74
+ if ((flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */) !== 0) {
75
75
  return true;
76
76
  }
77
77
  isTypeVarInScope = false;
@@ -82,7 +82,12 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
82
82
  return false;
83
83
  }
84
84
  }
85
- if ((flags & 8 /* SkipSolveTypeVars */) !== 0) {
85
+ // An in-scope placeholder TypeVar can always be assigned to itself,
86
+ // but we won't record this in the typeVarContext.
87
+ if ((0, types_1.isTypeSame)(destType, srcType) && destType.isInScopePlaceholder) {
88
+ return true;
89
+ }
90
+ if ((flags & 8 /* AssignTypeFlags.SkipSolveTypeVars */) !== 0) {
86
91
  return evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(destType), evaluator.makeTopLevelTypeVarsConcrete(srcType), diag,
87
92
  /* destTypeVarContext */ undefined,
88
93
  /* srcTypeVarContext */ undefined, flags, recursionCount);
@@ -113,13 +118,6 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
113
118
  !destType.details.isVariadic) {
114
119
  srcType = types_1.TypeVarType.cloneForUnpacked(srcType, /* isInUnion */ true);
115
120
  }
116
- // If we're attempting to assign `type` to Type[T], transform `type` into `Type[Any]`.
117
- if (types_1.TypeBase.isInstantiable(destType) &&
118
- (0, types_1.isClassInstance)(srcType) &&
119
- types_1.ClassType.isBuiltIn(srcType, 'type') &&
120
- !srcType.typeArguments) {
121
- srcType = types_1.AnyType.create();
122
- }
123
121
  // Handle the constrained case. This case needs to be handled specially
124
122
  // because type narrowing isn't used in this case. For example, if the
125
123
  // source type is "Literal[1]" and the constraint list includes the type
@@ -140,7 +138,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
140
138
  let adjSrcType = srcType;
141
139
  // If the source is a class that is missing type arguments, fill
142
140
  // in missing type arguments with Unknown.
143
- if ((flags & 2048 /* AllowUnspecifiedTypeArguments */) === 0) {
141
+ if ((flags & 2048 /* AssignTypeFlags.AllowUnspecifiedTypeArguments */) === 0) {
144
142
  if ((0, types_1.isClass)(adjSrcType) && adjSrcType.includeSubclasses) {
145
143
  adjSrcType = (0, typeUtils_1.specializeWithDefaultTypeArgs)(adjSrcType);
146
144
  }
@@ -167,7 +165,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
167
165
  diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(adjSrcType, destType)));
168
166
  return false;
169
167
  }
170
- if ((flags & 1024 /* PopulatingExpectedType */) !== 0) {
168
+ if ((flags & 1024 /* AssignTypeFlags.PopulatingExpectedType */) !== 0) {
171
169
  // If we're populating the expected type and the srcType is
172
170
  // Unknown, ignore it.
173
171
  if ((0, types_1.isUnknown)(adjSrcType)) {
@@ -197,7 +195,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
197
195
  else if (!(0, types_1.isTypeSame)(curWideTypeBound, adjSrcType, {}, recursionCount)) {
198
196
  if (evaluator.assignType(curWideTypeBound, evaluator.makeTopLevelTypeVarsConcrete(adjSrcType), diagAddendum,
199
197
  /* destTypeVarContext */ undefined,
200
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
198
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
201
199
  // The srcType is narrower than the current wideTypeBound, so replace it.
202
200
  // If it's Any, don't replace it because Any is the narrowest type already.
203
201
  if (!(0, types_1.isAny)(curWideTypeBound)) {
@@ -206,7 +204,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
206
204
  }
207
205
  else if (!evaluator.assignType(adjSrcType, curWideTypeBound, diagAddendum,
208
206
  /* destTypeVarContext */ undefined,
209
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
207
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
210
208
  if (diag && diagAddendum) {
211
209
  diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curWideTypeBound, adjSrcType)));
212
210
  diag.addAddendum(diagAddendum);
@@ -219,7 +217,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
219
217
  if (!evaluator.assignType(newWideTypeBound, curNarrowTypeBound,
220
218
  /* diag */ undefined,
221
219
  /* destTypeVarContext */ undefined,
222
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
220
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
223
221
  if (diag && diagAddendum) {
224
222
  diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curNarrowTypeBound, newWideTypeBound)));
225
223
  diag.addAddendum(diagAddendum);
@@ -234,8 +232,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
234
232
  newNarrowTypeBound = adjSrcType;
235
233
  }
236
234
  else if (!(0, types_1.isTypeSame)(curNarrowTypeBound, adjSrcType, {}, recursionCount)) {
237
- if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum,
238
- /* destTypeVarContext */ undefined,
235
+ if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum, typeVarContext,
239
236
  /* srcTypeVarContext */ undefined, flags, recursionCount)) {
240
237
  // No need to widen. Stick with the existing type unless it's unknown
241
238
  // or partly unknown, in which case we'll replace it with a known type
@@ -243,9 +240,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
243
240
  if ((0, typeUtils_1.isPartlyUnknown)(curNarrowTypeBound) &&
244
241
  !(0, types_1.isUnknown)(adjSrcType) &&
245
242
  evaluator.assignType(adjSrcType, curNarrowTypeBound,
246
- /* diag */ undefined,
247
- /* destTypeVarContext */ undefined,
248
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
243
+ /* diag */ undefined, typeVarContext,
244
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
249
245
  newNarrowTypeBound = adjSrcType;
250
246
  }
251
247
  else {
@@ -254,8 +250,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
254
250
  }
255
251
  else if ((0, types_1.isTypeVar)(curNarrowTypeBound) &&
256
252
  !(0, types_1.isTypeVar)(adjSrcType) &&
257
- evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(curNarrowTypeBound), adjSrcType, diagAddendum,
258
- /* destTypeVarContext */ undefined,
253
+ evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(curNarrowTypeBound), adjSrcType, diagAddendum, typeVarContext,
259
254
  /* srcTypeVarContext */ undefined, flags, recursionCount)) {
260
255
  // If the existing narrow type bound was a TypeVar that is not
261
256
  // part of the current context we can replace it with the new
@@ -269,9 +264,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
269
264
  return false;
270
265
  }
271
266
  if (evaluator.assignType(adjSrcType, curNarrowTypeBound,
272
- /* diag */ undefined,
273
- /* destTypeVarContext */ undefined,
274
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
267
+ /* diag */ undefined, typeVarContext,
268
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
275
269
  newNarrowTypeBound = adjSrcType;
276
270
  }
277
271
  else if ((0, types_1.isVariadicTypeVar)(destType)) {
@@ -321,9 +315,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
321
315
  const adjWideTypeBound = makeConcrete
322
316
  ? evaluator.makeTopLevelTypeVarsConcrete(curWideTypeBound, /* makeParamSpecsConcrete */ true)
323
317
  : curWideTypeBound;
324
- if (!evaluator.assignType(adjWideTypeBound, newNarrowTypeBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
325
- /* destTypeVarContext */ undefined,
326
- /* srcTypeVarContext */ undefined, 512 /* IgnoreTypeVarScope */, recursionCount)) {
318
+ if (!evaluator.assignType(adjWideTypeBound, newNarrowTypeBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), typeVarContext,
319
+ /* srcTypeVarContext */ undefined, 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
327
320
  if (diag && diagAddendum) {
328
321
  diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(newNarrowTypeBound, adjWideTypeBound)));
329
322
  }
@@ -348,7 +341,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
348
341
  ? typeVarContext
349
342
  : new typeVarContext_1.TypeVarContext(destType.scopeId);
350
343
  if (!evaluator.assignType(destType.details.boundType, evaluator.makeTopLevelTypeVarsConcrete(updatedType), diag === null || diag === void 0 ? void 0 : diag.createAddendum(), effectiveTypeVarContext,
351
- /* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
344
+ /* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
352
345
  // Avoid adding a message that will confuse users if the TypeVar was
353
346
  // synthesized for internal purposes.
354
347
  if (!destType.details.isSynthesized) {
@@ -362,7 +355,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
362
355
  }
363
356
  }
364
357
  if (!typeVarContext.isLocked() && isTypeVarInScope) {
365
- updateTypeVarType(evaluator, typeVarContext, destType, newNarrowTypeBound, newWideTypeBound, (flags & (1024 /* PopulatingExpectedType */ | 128 /* RetainLiteralsForTypeVar */)) !== 0);
358
+ updateTypeVarType(evaluator, typeVarContext, destType, newNarrowTypeBound, newWideTypeBound, (flags & (1024 /* AssignTypeFlags.PopulatingExpectedType */ | 128 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) !== 0);
366
359
  }
367
360
  if (logTypeVarContextUpdates) {
368
361
  const indent = ' '.repeat(recursionCount * 2);
@@ -404,7 +397,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
404
397
  if ((0, types_1.isTypeVar)(srcType)) {
405
398
  if (evaluator.assignType(destType, concreteSrcType,
406
399
  /* diag */ undefined, new typeVarContext_1.TypeVarContext(destType.scopeId),
407
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
400
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
408
401
  constrainedType = srcType;
409
402
  // If the source and dest are both instantiables (type[T]), then
410
403
  // we need to convert to an instance (T).
@@ -433,14 +426,14 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
433
426
  if (evaluator.assignType(adjustedConstraint, srcSubtype,
434
427
  /* diag */ undefined,
435
428
  /* destTypeVarContext */ undefined,
436
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
429
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
437
430
  if (!constrainedSubtype ||
438
431
  evaluator.assignType(types_1.TypeBase.isInstantiable(destType)
439
432
  ? (0, typeUtils_1.convertToInstantiable)(constrainedSubtype)
440
433
  : constrainedSubtype, adjustedConstraint,
441
434
  /* diag */ undefined,
442
435
  /* destTypeVarContext */ undefined,
443
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
436
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
444
437
  constrainedSubtype = (0, typeUtils_1.addConditionToType)(constraint, (0, typeUtils_1.getTypeCondition)(srcSubtype));
445
438
  constraintIndexUsed = i;
446
439
  }
@@ -450,7 +443,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
450
443
  // We found a source subtype that is not compatible with the dest.
451
444
  // This is OK if we're handling the contravariant case because only
452
445
  // one subtype needs to be assignable in that case.
453
- if ((flags & 2 /* ReverseTypeVarMatching */) === 0) {
446
+ if ((flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) === 0) {
454
447
  isCompatible = false;
455
448
  }
456
449
  }
@@ -478,7 +471,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
478
471
  return evaluator.assignType(adjustedConstraint, concreteSrcType,
479
472
  /* diag */ undefined,
480
473
  /* destTypeVarContext */ undefined,
481
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount);
474
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount);
482
475
  });
483
476
  }
484
477
  }
@@ -496,14 +489,14 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
496
489
  if (!evaluator.assignType(curNarrowTypeBound, constrainedType,
497
490
  /* diag */ undefined,
498
491
  /* destTypeVarContext */ undefined,
499
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
492
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
500
493
  // Handle the case where one of the constrained types is a wider
501
494
  // version of another constrained type that was previously assigned
502
495
  // to the type variable.
503
496
  if (evaluator.assignType(constrainedType, curNarrowTypeBound,
504
497
  /* diag */ undefined,
505
498
  /* destTypeVarContext */ undefined,
506
- /* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
499
+ /* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
507
500
  if (!typeVarContext.isLocked() && isTypeVarInScope) {
508
501
  updateTypeVarType(evaluator, typeVarContext, destType, constrainedType, curWideTypeBound);
509
502
  }
@@ -559,7 +552,7 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
559
552
  };
560
553
  return param;
561
554
  });
562
- const newFunction = types_1.FunctionType.createInstance('', '', '', srcType.details.flags | 65536 /* ParamSpecValue */);
555
+ const newFunction = types_1.FunctionType.createInstance('', '', '', srcType.details.flags | 65536 /* FunctionTypeFlags.ParamSpecValue */);
563
556
  parameters.forEach((param) => {
564
557
  types_1.FunctionType.addParameter(newFunction, param);
565
558
  });
@@ -579,13 +572,13 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
579
572
  if (evaluator.assignType(existingFunction, newFunction,
580
573
  /* diag */ undefined,
581
574
  /* destTypeVarContext */ undefined,
582
- /* srcTypeVarContext */ undefined, 32 /* SkipFunctionReturnTypeCheck */, recursionCount)) {
575
+ /* srcTypeVarContext */ undefined, 32 /* AssignTypeFlags.SkipFunctionReturnTypeCheck */, recursionCount)) {
583
576
  updateContextWithNewFunction = true;
584
577
  }
585
578
  else if (evaluator.assignType(newFunction, existingFunction,
586
579
  /* diag */ undefined,
587
580
  /* destTypeVarContext */ undefined,
588
- /* srcTypeVarContext */ undefined, 32 /* SkipFunctionReturnTypeCheck */, recursionCount)) {
581
+ /* srcTypeVarContext */ undefined, 32 /* AssignTypeFlags.SkipFunctionReturnTypeCheck */, recursionCount)) {
589
582
  // The existing function is already narrower than the new function, so
590
583
  // no need to narrow it further.
591
584
  return;
@@ -642,7 +635,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
642
635
  if (!expectedTypeArgs) {
643
636
  return evaluator.assignType(type, expectedType,
644
637
  /* diag */ undefined, typeVarContext,
645
- /* srcTypeVarContext */ undefined, 1024 /* PopulatingExpectedType */);
638
+ /* srcTypeVarContext */ undefined, 1024 /* AssignTypeFlags.PopulatingExpectedType */);
646
639
  }
647
640
  evaluator.inferTypeParameterVarianceForClass(type);
648
641
  // If the expected type is the same as the target type (commonly the case),
@@ -659,7 +652,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
659
652
  }
660
653
  if (typeArgValue) {
661
654
  const variance = types_1.TypeVarType.getVariance(entry.typeVar);
662
- updateTypeVarType(evaluator, typeVarContext, entry.typeVar, variance === 3 /* Covariant */ ? undefined : typeArgValue, variance === 4 /* Contravariant */ ? undefined : typeArgValue);
655
+ updateTypeVarType(evaluator, typeVarContext, entry.typeVar, variance === 3 /* Variance.Covariant */ ? undefined : typeArgValue, variance === 4 /* Variance.Contravariant */ ? undefined : typeArgValue);
663
656
  if (entry.tupleTypes) {
664
657
  typeVarContext.setTupleTypeVar(entry.typeVar, entry.tupleTypes.map((tupleEntry) => {
665
658
  let tupleType = tupleEntry.type;
@@ -682,7 +675,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
682
675
  typeVar.details.isParamSpec = true;
683
676
  }
684
677
  // Use invariance here so we set the narrow and wide values on the TypeVar.
685
- typeVar.details.declaredVariance = 2 /* Invariant */;
678
+ typeVar.details.declaredVariance = 2 /* Variance.Invariant */;
686
679
  typeVar.scopeId = expectedTypeScopeId;
687
680
  return typeVar;
688
681
  });
@@ -703,7 +696,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
703
696
  const syntheticTypeVarContext = new typeVarContext_1.TypeVarContext(expectedTypeScopeId);
704
697
  if (evaluator.assignType(genericExpectedType, specializedType,
705
698
  /* diag */ undefined, syntheticTypeVarContext,
706
- /* srcTypeVarContext */ undefined, 1024 /* PopulatingExpectedType */)) {
699
+ /* srcTypeVarContext */ undefined, 1024 /* AssignTypeFlags.PopulatingExpectedType */)) {
707
700
  let isResultValid = true;
708
701
  synthExpectedTypeArgs.forEach((typeVar, index) => {
709
702
  let synthTypeVar = syntheticTypeVarContext.getPrimarySignature().getTypeVarType(typeVar);
@@ -756,7 +749,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
756
749
  isResultValid = false;
757
750
  typeArgValue = types_1.UnknownType.create();
758
751
  }
759
- updateTypeVarType(evaluator, typeVarContext, targetTypeVar, variance === 3 /* Covariant */ ? undefined : typeArgValue, variance === 4 /* Contravariant */ ? undefined : typeArgValue);
752
+ updateTypeVarType(evaluator, typeVarContext, targetTypeVar, variance === 3 /* Variance.Covariant */ ? undefined : typeArgValue, variance === 4 /* Variance.Contravariant */ ? undefined : typeArgValue);
760
753
  }
761
754
  else {
762
755
  isResultValid = false;