@zzzen/pyright-internal 1.2.0-dev.20240804 → 1.2.0-dev.20240811

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 (732) hide show
  1. package/dist/analyzer/analysis.js +2 -2
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js +1 -2
  4. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.js +20 -21
  6. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  7. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  8. package/dist/analyzer/binder.js +1 -1
  9. package/dist/analyzer/binder.js.map +1 -1
  10. package/dist/analyzer/cacheManager.d.ts +0 -1
  11. package/dist/analyzer/cacheManager.js.map +1 -1
  12. package/dist/analyzer/checker.d.ts +2 -0
  13. package/dist/analyzer/checker.js +268 -203
  14. package/dist/analyzer/checker.js.map +1 -1
  15. package/dist/analyzer/circularDependency.js.map +1 -1
  16. package/dist/analyzer/codeFlowEngine.js +6 -6
  17. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  18. package/dist/analyzer/codeFlowTypes.d.ts +17 -17
  19. package/dist/analyzer/codeFlowTypes.js +5 -5
  20. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  21. package/dist/analyzer/codeFlowUtils.js +1 -2
  22. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  23. package/dist/analyzer/commentUtils.js +1 -2
  24. package/dist/analyzer/commentUtils.js.map +1 -1
  25. package/dist/analyzer/constraintSolution.d.ts +2 -1
  26. package/dist/analyzer/constraintSolution.js +7 -1
  27. package/dist/analyzer/constraintSolution.js.map +1 -1
  28. package/dist/analyzer/constraintSolver.d.ts +1 -2
  29. package/dist/analyzer/constraintSolver.js +137 -161
  30. package/dist/analyzer/constraintSolver.js.map +1 -1
  31. package/dist/analyzer/constraintTracker.d.ts +5 -4
  32. package/dist/analyzer/constraintTracker.js +14 -9
  33. package/dist/analyzer/constraintTracker.js.map +1 -1
  34. package/dist/analyzer/constructorTransform.js +8 -8
  35. package/dist/analyzer/constructorTransform.js.map +1 -1
  36. package/dist/analyzer/constructors.js +15 -16
  37. package/dist/analyzer/constructors.js.map +1 -1
  38. package/dist/analyzer/dataClasses.js +37 -26
  39. package/dist/analyzer/dataClasses.js.map +1 -1
  40. package/dist/analyzer/declaration.js +11 -11
  41. package/dist/analyzer/declaration.js.map +1 -1
  42. package/dist/analyzer/declarationUtils.js +8 -9
  43. package/dist/analyzer/declarationUtils.js.map +1 -1
  44. package/dist/analyzer/decorators.d.ts +1 -1
  45. package/dist/analyzer/decorators.js +33 -29
  46. package/dist/analyzer/decorators.js.map +1 -1
  47. package/dist/analyzer/docStringConversion.js +2 -3
  48. package/dist/analyzer/docStringConversion.js.map +1 -1
  49. package/dist/analyzer/docStringUtils.js +2 -3
  50. package/dist/analyzer/docStringUtils.js.map +1 -1
  51. package/dist/analyzer/enums.js +17 -14
  52. package/dist/analyzer/enums.js.map +1 -1
  53. package/dist/analyzer/functionTransform.d.ts +2 -2
  54. package/dist/analyzer/functionTransform.js +1 -2
  55. package/dist/analyzer/functionTransform.js.map +1 -1
  56. package/dist/analyzer/importResolver.d.ts +0 -1
  57. package/dist/analyzer/importResolver.js +5 -5
  58. package/dist/analyzer/importResolver.js.map +1 -1
  59. package/dist/analyzer/importStatementUtils.js +15 -15
  60. package/dist/analyzer/importStatementUtils.js.map +1 -1
  61. package/dist/analyzer/namedTuples.js +2 -3
  62. package/dist/analyzer/namedTuples.js.map +1 -1
  63. package/dist/analyzer/operations.js +6 -7
  64. package/dist/analyzer/operations.js.map +1 -1
  65. package/dist/analyzer/packageTypeReport.d.ts +3 -3
  66. package/dist/analyzer/packageTypeReport.js +2 -2
  67. package/dist/analyzer/packageTypeReport.js.map +1 -1
  68. package/dist/analyzer/packageTypeVerifier.js +9 -9
  69. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  70. package/dist/analyzer/parameterUtils.js +5 -5
  71. package/dist/analyzer/parameterUtils.js.map +1 -1
  72. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  73. package/dist/analyzer/parseTreeUtils.js +94 -92
  74. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  75. package/dist/analyzer/parseTreeWalker.js +2 -2
  76. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  77. package/dist/analyzer/patternMatching.js +18 -22
  78. package/dist/analyzer/patternMatching.js.map +1 -1
  79. package/dist/analyzer/program.js +5 -1
  80. package/dist/analyzer/program.js.map +1 -1
  81. package/dist/analyzer/properties.js +7 -9
  82. package/dist/analyzer/properties.js.map +1 -1
  83. package/dist/analyzer/protocols.d.ts +2 -2
  84. package/dist/analyzer/protocols.js +26 -30
  85. package/dist/analyzer/protocols.js.map +1 -1
  86. package/dist/analyzer/pyTypedUtils.js +2 -3
  87. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  88. package/dist/analyzer/pythonPathUtils.js +6 -6
  89. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  90. package/dist/analyzer/scope.js.map +1 -1
  91. package/dist/analyzer/scopeUtils.js +5 -6
  92. package/dist/analyzer/scopeUtils.js.map +1 -1
  93. package/dist/analyzer/service.d.ts +3 -0
  94. package/dist/analyzer/service.js +173 -103
  95. package/dist/analyzer/service.js.map +1 -1
  96. package/dist/analyzer/serviceUtils.js +5 -5
  97. package/dist/analyzer/serviceUtils.js.map +1 -1
  98. package/dist/analyzer/sourceFile.js.map +1 -1
  99. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  100. package/dist/analyzer/sourceFileInfoUtils.js +4 -5
  101. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  102. package/dist/analyzer/sourceMapper.js +5 -4
  103. package/dist/analyzer/sourceMapper.js.map +1 -1
  104. package/dist/analyzer/sourceMapperUtils.js +1 -2
  105. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  106. package/dist/analyzer/staticExpressions.js +2 -3
  107. package/dist/analyzer/staticExpressions.js.map +1 -1
  108. package/dist/analyzer/symbol.js.map +1 -1
  109. package/dist/analyzer/symbolNameUtils.js +8 -9
  110. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  111. package/dist/analyzer/symbolUtils.js +4 -5
  112. package/dist/analyzer/symbolUtils.js.map +1 -1
  113. package/dist/analyzer/testWalker.js.map +1 -1
  114. package/dist/analyzer/tracePrinter.js +5 -4
  115. package/dist/analyzer/tracePrinter.js.map +1 -1
  116. package/dist/analyzer/tuples.d.ts +1 -1
  117. package/dist/analyzer/tuples.js +6 -7
  118. package/dist/analyzer/tuples.js.map +1 -1
  119. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  120. package/dist/analyzer/typeComplexity.js +2 -3
  121. package/dist/analyzer/typeComplexity.js.map +1 -1
  122. package/dist/analyzer/typeDocStringUtils.d.ts +2 -2
  123. package/dist/analyzer/typeDocStringUtils.js +34 -25
  124. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  125. package/dist/analyzer/typeEvaluator.js +419 -419
  126. package/dist/analyzer/typeEvaluator.js.map +1 -1
  127. package/dist/analyzer/typeEvaluatorTypes.d.ts +8 -10
  128. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  129. package/dist/analyzer/typeEvaluatorWithTracker.js +1 -2
  130. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  131. package/dist/analyzer/typeGuards.js +31 -30
  132. package/dist/analyzer/typeGuards.js.map +1 -1
  133. package/dist/analyzer/typePrinter.js +11 -11
  134. package/dist/analyzer/typePrinter.js.map +1 -1
  135. package/dist/analyzer/typeStubWriter.js.map +1 -1
  136. package/dist/analyzer/typeUtils.d.ts +10 -14
  137. package/dist/analyzer/typeUtils.js +166 -215
  138. package/dist/analyzer/typeUtils.js.map +1 -1
  139. package/dist/analyzer/typeWalker.d.ts +2 -2
  140. package/dist/analyzer/typeWalker.js +9 -4
  141. package/dist/analyzer/typeWalker.js.map +1 -1
  142. package/dist/analyzer/typedDicts.js +41 -41
  143. package/dist/analyzer/typedDicts.js.map +1 -1
  144. package/dist/analyzer/types.d.ts +18 -16
  145. package/dist/analyzer/types.js +71 -74
  146. package/dist/analyzer/types.js.map +1 -1
  147. package/dist/backgroundAnalysisBase.d.ts +0 -1
  148. package/dist/backgroundAnalysisBase.js.map +1 -1
  149. package/dist/backgroundThreadBase.d.ts +0 -1
  150. package/dist/backgroundThreadBase.js +7 -7
  151. package/dist/backgroundThreadBase.js.map +1 -1
  152. package/dist/commands/commandController.js.map +1 -1
  153. package/dist/commands/createTypeStub.js.map +1 -1
  154. package/dist/commands/dumpFileDebugInfoCommand.js +2 -2
  155. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  156. package/dist/commands/quickActionCommand.js.map +1 -1
  157. package/dist/common/cancellationUtils.js +9 -9
  158. package/dist/common/cancellationUtils.js.map +1 -1
  159. package/dist/common/chokidarFileWatcherProvider.js +3 -3
  160. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  161. package/dist/common/collectionUtils.js +23 -23
  162. package/dist/common/collectionUtils.js.map +1 -1
  163. package/dist/common/commandLineOptions.d.ts +19 -12
  164. package/dist/common/commandLineOptions.js +26 -9
  165. package/dist/common/commandLineOptions.js.map +1 -1
  166. package/dist/common/commandUtils.js +1 -2
  167. package/dist/common/commandUtils.js.map +1 -1
  168. package/dist/common/configOptions.d.ts +2 -2
  169. package/dist/common/configOptions.js +30 -40
  170. package/dist/common/configOptions.js.map +1 -1
  171. package/dist/common/console.js +4 -4
  172. package/dist/common/console.js.map +1 -1
  173. package/dist/common/core.js +21 -21
  174. package/dist/common/core.js.map +1 -1
  175. package/dist/common/crypto.js +1 -2
  176. package/dist/common/crypto.js.map +1 -1
  177. package/dist/common/debug.js +9 -10
  178. package/dist/common/debug.js.map +1 -1
  179. package/dist/common/deferred.js +3 -4
  180. package/dist/common/deferred.js.map +1 -1
  181. package/dist/common/diagnostic.js +3 -3
  182. package/dist/common/diagnostic.js.map +1 -1
  183. package/dist/common/diagnosticSink.js.map +1 -1
  184. package/dist/common/envVarUtils.js +2 -3
  185. package/dist/common/envVarUtils.js.map +1 -1
  186. package/dist/common/fileBasedCancellationUtils.js +4 -4
  187. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  188. package/dist/common/fileSystem.d.ts +0 -2
  189. package/dist/common/fileWatcher.js +2 -2
  190. package/dist/common/fileWatcher.js.map +1 -1
  191. package/dist/common/fullAccessHost.js.map +1 -1
  192. package/dist/common/logTracker.js +2 -2
  193. package/dist/common/logTracker.js.map +1 -1
  194. package/dist/common/lspUtils.d.ts +1 -1
  195. package/dist/common/lspUtils.js +3 -4
  196. package/dist/common/lspUtils.js.map +1 -1
  197. package/dist/common/memUtils.js +2 -2
  198. package/dist/common/memUtils.js.map +1 -1
  199. package/dist/common/pathUtils.js +32 -32
  200. package/dist/common/pathUtils.js.map +1 -1
  201. package/dist/common/positionUtils.js +7 -8
  202. package/dist/common/positionUtils.js.map +1 -1
  203. package/dist/common/progressReporter.js.map +1 -1
  204. package/dist/common/pythonVersion.js.map +1 -1
  205. package/dist/common/realFileSystem.d.ts +0 -2
  206. package/dist/common/realFileSystem.js +2 -2
  207. package/dist/common/realFileSystem.js.map +1 -1
  208. package/dist/common/serviceProvider.js.map +1 -1
  209. package/dist/common/serviceProviderExtensions.js +1 -2
  210. package/dist/common/serviceProviderExtensions.js.map +1 -1
  211. package/dist/common/stringUtils.js +12 -13
  212. package/dist/common/stringUtils.js.map +1 -1
  213. package/dist/common/textEditTracker.js.map +1 -1
  214. package/dist/common/textRange.js +13 -13
  215. package/dist/common/textRange.js.map +1 -1
  216. package/dist/common/textRangeCollection.js +2 -2
  217. package/dist/common/textRangeCollection.js.map +1 -1
  218. package/dist/common/timing.js.map +1 -1
  219. package/dist/common/uri/baseUri.js.map +1 -1
  220. package/dist/common/uri/fileUri.js.map +1 -1
  221. package/dist/common/uri/memoization.js +3 -4
  222. package/dist/common/uri/memoization.js.map +1 -1
  223. package/dist/common/uri/uri.js.map +1 -1
  224. package/dist/common/uri/uriUtils.d.ts +0 -1
  225. package/dist/common/uri/uriUtils.js +20 -20
  226. package/dist/common/uri/uriUtils.js.map +1 -1
  227. package/dist/common/uri/webUri.js.map +1 -1
  228. package/dist/common/workspaceEditUtils.js +8 -9
  229. package/dist/common/workspaceEditUtils.js.map +1 -1
  230. package/dist/languageServerBase.js.map +1 -1
  231. package/dist/languageService/analyzerServiceExecutor.js +30 -29
  232. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  233. package/dist/languageService/autoImporter.js +4 -4
  234. package/dist/languageService/autoImporter.js.map +1 -1
  235. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  236. package/dist/languageService/codeActionProvider.js.map +1 -1
  237. package/dist/languageService/completionProvider.js +2 -2
  238. package/dist/languageService/completionProvider.js.map +1 -1
  239. package/dist/languageService/completionProviderUtils.js +4 -5
  240. package/dist/languageService/completionProviderUtils.js.map +1 -1
  241. package/dist/languageService/definitionProvider.js +5 -5
  242. package/dist/languageService/definitionProvider.js.map +1 -1
  243. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  244. package/dist/languageService/documentSymbolCollector.js +3 -3
  245. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  246. package/dist/languageService/documentSymbolProvider.js +2 -2
  247. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  248. package/dist/languageService/dynamicFeature.js.map +1 -1
  249. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  250. package/dist/languageService/hoverProvider.js +6 -6
  251. package/dist/languageService/hoverProvider.js.map +1 -1
  252. package/dist/languageService/importSorter.js.map +1 -1
  253. package/dist/languageService/navigationUtils.js +3 -4
  254. package/dist/languageService/navigationUtils.js.map +1 -1
  255. package/dist/languageService/quickActions.js +1 -2
  256. package/dist/languageService/quickActions.js.map +1 -1
  257. package/dist/languageService/referencesProvider.js.map +1 -1
  258. package/dist/languageService/renameProvider.js.map +1 -1
  259. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  260. package/dist/languageService/symbolIndexer.js.map +1 -1
  261. package/dist/languageService/tooltipUtils.d.ts +5 -5
  262. package/dist/languageService/tooltipUtils.js +31 -31
  263. package/dist/languageService/tooltipUtils.js.map +1 -1
  264. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  265. package/dist/localization/localize.d.ts +3 -0
  266. package/dist/localization/localize.js +7 -6
  267. package/dist/localization/localize.js.map +1 -1
  268. package/dist/localization/package.nls.en-us.json +2 -1
  269. package/dist/nodeMain.js +1 -2
  270. package/dist/nodeMain.js.map +1 -1
  271. package/dist/nodeServer.js +2 -3
  272. package/dist/nodeServer.js.map +1 -1
  273. package/dist/parser/characterStream.js.map +1 -1
  274. package/dist/parser/characters.js +10 -11
  275. package/dist/parser/characters.js.map +1 -1
  276. package/dist/parser/parseNodes.d.ts +8 -8
  277. package/dist/parser/parseNodes.js +5 -5
  278. package/dist/parser/parseNodes.js.map +1 -1
  279. package/dist/parser/parser.js.map +1 -1
  280. package/dist/parser/stringTokenUtils.js +2 -2
  281. package/dist/parser/stringTokenUtils.js.map +1 -1
  282. package/dist/parser/tokenizer.js.map +1 -1
  283. package/dist/parser/unicode.js +468 -468
  284. package/dist/parser/unicode.js.map +1 -1
  285. package/dist/pprof/profiler.js +2 -3
  286. package/dist/pprof/profiler.js.map +1 -1
  287. package/dist/pyright.js +22 -23
  288. package/dist/pyright.js.map +1 -1
  289. package/dist/pyrightFileSystem.d.ts +0 -2
  290. package/dist/pyrightFileSystem.js.map +1 -1
  291. package/dist/readonlyAugmentedFileSystem.d.ts +0 -2
  292. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  293. package/dist/server.js.map +1 -1
  294. package/dist/tests/cacheManager.test.js.map +1 -1
  295. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  296. package/dist/tests/checker.test.js +3 -3
  297. package/dist/tests/checker.test.js.map +1 -1
  298. package/dist/tests/classDeclaration.test.js.map +1 -1
  299. package/dist/tests/config.test.js +160 -24
  300. package/dist/tests/config.test.js.map +1 -1
  301. package/dist/tests/debug.test.js.map +1 -1
  302. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  303. package/dist/tests/docStringConversion.test.js +1 -2
  304. package/dist/tests/docStringConversion.test.js.map +1 -1
  305. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  306. package/dist/tests/filesystem.test.js.map +1 -1
  307. package/dist/tests/fourSlashParser.test.js.map +1 -1
  308. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  309. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.d.ts +0 -1
  310. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  311. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.d.ts +0 -1
  312. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  313. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.d.ts +0 -1
  314. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.d.ts +0 -1
  315. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.d.ts +0 -1
  316. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  317. package/dist/tests/fourslash/completions.autoimport.fourslash.d.ts +0 -1
  318. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  319. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.d.ts +0 -1
  320. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  321. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +0 -1
  322. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  323. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.d.ts +0 -1
  324. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  325. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.d.ts +0 -1
  326. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  327. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.d.ts +0 -1
  328. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  329. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.d.ts +0 -1
  330. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  331. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.d.ts +0 -1
  332. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  333. package/dist/tests/fourslash/completions.builtinOverride.fourslash.d.ts +0 -1
  334. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.d.ts +0 -1
  335. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.call.typedDict.fourslash.d.ts +0 -1
  337. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  338. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.d.ts +0 -1
  339. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  340. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.d.ts +0 -1
  341. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  342. package/dist/tests/fourslash/completions.classVariable.fourslash.d.ts +0 -1
  343. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  344. package/dist/tests/fourslash/completions.comment.fourslash.d.ts +0 -1
  345. package/dist/tests/fourslash/completions.declNames.class.fourslash.d.ts +0 -1
  346. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  347. package/dist/tests/fourslash/completions.declNames.exception.fourslash.d.ts +0 -1
  348. package/dist/tests/fourslash/completions.declNames.for.fourslash.d.ts +0 -1
  349. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  350. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.d.ts +0 -1
  351. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.d.ts +0 -1
  352. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  353. package/dist/tests/fourslash/completions.declNames.method.fourslash.d.ts +0 -1
  354. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  355. package/dist/tests/fourslash/completions.declNames.overload.fourslash.d.ts +0 -1
  356. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.d.ts +0 -1
  358. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  359. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.d.ts +0 -1
  360. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  361. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.d.ts +0 -1
  362. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  363. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.d.ts +0 -1
  364. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  365. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.d.ts +0 -1
  366. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  367. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.d.ts +0 -1
  368. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  369. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.d.ts +0 -1
  370. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  371. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.d.ts +0 -1
  372. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +0 -1
  373. package/dist/tests/fourslash/completions.enums.members.fourslash.d.ts +0 -1
  374. package/dist/tests/fourslash/completions.errorNodes.fourslash.d.ts +0 -1
  375. package/dist/tests/fourslash/completions.excluded.fourslash.d.ts +0 -1
  376. package/dist/tests/fourslash/completions.fourslash.d.ts +0 -1
  377. package/dist/tests/fourslash/completions.fstring.fourslash.d.ts +0 -1
  378. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.d.ts +0 -1
  379. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  380. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.d.ts +0 -1
  381. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.d.ts +0 -1
  382. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.d.ts +0 -1
  383. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.d.ts +0 -1
  384. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.d.ts +0 -1
  385. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js.map +1 -1
  386. package/dist/tests/fourslash/completions.import.submodule.fourslash.d.ts +0 -1
  387. package/dist/tests/fourslash/completions.inList.fourslash.d.ts +0 -1
  388. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  389. package/dist/tests/fourslash/completions.included.fourslash.d.ts +0 -1
  390. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.d.ts +0 -1
  391. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  392. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.d.ts +0 -1
  393. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.d.ts +0 -1
  394. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.d.ts +0 -1
  395. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.d.ts +0 -1
  396. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.d.ts +0 -1
  397. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.d.ts +0 -1
  398. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  399. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.d.ts +0 -1
  400. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.d.ts +0 -1
  401. package/dist/tests/fourslash/completions.libStub.fourslash.d.ts +0 -1
  402. package/dist/tests/fourslash/completions.literals.fourslash.d.ts +0 -1
  403. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  404. package/dist/tests/fourslash/completions.localCode.fourslash.d.ts +0 -1
  405. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.d.ts +0 -1
  406. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.d.ts +0 -1
  407. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.d.ts +0 -1
  408. package/dist/tests/fourslash/completions.overloads.fourslash.d.ts +0 -1
  409. package/dist/tests/fourslash/completions.override.default.fourslash.d.ts +0 -1
  410. package/dist/tests/fourslash/completions.override.default.importStub.d.ts +0 -1
  411. package/dist/tests/fourslash/completions.override.default.imported.fourslash.d.ts +0 -1
  412. package/dist/tests/fourslash/completions.override.default.stub.fourslash.d.ts +0 -1
  413. package/dist/tests/fourslash/completions.override.fourslash.d.ts +0 -1
  414. package/dist/tests/fourslash/completions.override.property.fourslash.d.ts +0 -1
  415. package/dist/tests/fourslash/completions.override.property.stub.fourslash.d.ts +0 -1
  416. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.d.ts +0 -1
  417. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  418. package/dist/tests/fourslash/completions.override.stub.fourslash.d.ts +0 -1
  419. package/dist/tests/fourslash/completions.override2.fourslash.d.ts +0 -1
  420. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  421. package/dist/tests/fourslash/completions.parameters.fourslash.d.ts +0 -1
  422. package/dist/tests/fourslash/completions.params.fourslash.d.ts +0 -1
  423. package/dist/tests/fourslash/completions.parentFolder.fourslash.d.ts +0 -1
  424. package/dist/tests/fourslash/completions.parentFolders.fourslash.d.ts +0 -1
  425. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  426. package/dist/tests/fourslash/completions.plainText.fourslash.d.ts +0 -1
  427. package/dist/tests/fourslash/completions.private.fourslash.d.ts +0 -1
  428. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  429. package/dist/tests/fourslash/completions.property.fourslash.d.ts +0 -1
  430. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.d.ts +0 -1
  431. package/dist/tests/fourslash/completions.self.fourslash.d.ts +0 -1
  432. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.d.ts +0 -1
  433. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  434. package/dist/tests/fourslash/completions.stringLiteral.fourslash.d.ts +0 -1
  435. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  436. package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +0 -1
  437. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  438. package/dist/tests/fourslash/completions.typeAlias.fourslash.d.ts +0 -1
  439. package/dist/tests/fourslash/completions.typeshed.fourslash.d.ts +0 -1
  440. package/dist/tests/fourslash/completions.vardecls.fourslash.d.ts +0 -1
  441. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  442. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.d.ts +0 -1
  443. package/dist/tests/fourslash/completions.wildcardimports.fourslash.d.ts +0 -1
  444. package/dist/tests/fourslash/completions.with.fourslash.d.ts +0 -1
  445. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.d.ts +0 -1
  446. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  447. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.d.ts +0 -1
  448. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  449. package/dist/tests/fourslash/findDefinitions.classes.fourslash.d.ts +0 -1
  450. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  451. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.d.ts +0 -1
  452. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  453. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.d.ts +0 -1
  454. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  455. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.d.ts +0 -1
  456. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  457. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.d.ts +0 -1
  458. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  459. package/dist/tests/fourslash/findDefinitions.fields.fourslash.d.ts +0 -1
  460. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  461. package/dist/tests/fourslash/findDefinitions.functions.fourslash.d.ts +0 -1
  462. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  463. package/dist/tests/fourslash/findDefinitions.methods.fourslash.d.ts +0 -1
  464. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  465. package/dist/tests/fourslash/findDefinitions.modules.fourslash.d.ts +0 -1
  466. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  467. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.d.ts +0 -1
  468. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  469. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +0 -1
  470. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  471. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.d.ts +0 -1
  472. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  473. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.d.ts +0 -1
  474. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  475. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.d.ts +0 -1
  476. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  477. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.d.ts +0 -1
  478. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  479. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.d.ts +0 -1
  480. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  481. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.d.ts +0 -1
  482. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  483. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.d.ts +0 -1
  484. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  485. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.d.ts +0 -1
  486. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  487. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.d.ts +0 -1
  488. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  489. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.d.ts +0 -1
  490. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  491. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.d.ts +0 -1
  492. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  493. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.d.ts +0 -1
  494. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  495. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.d.ts +0 -1
  496. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  497. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.d.ts +0 -1
  498. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  499. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.d.ts +0 -1
  500. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  501. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.d.ts +0 -1
  502. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  503. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.d.ts +0 -1
  504. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  505. package/dist/tests/fourslash/findDefinitions.variables.fourslash.d.ts +0 -1
  506. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  507. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.d.ts +0 -1
  508. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  509. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.d.ts +0 -1
  510. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  511. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.d.ts +0 -1
  512. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  513. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.d.ts +0 -1
  514. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  515. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.d.ts +0 -1
  516. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  517. package/dist/tests/fourslash/findallreferences.fourslash.d.ts +0 -1
  518. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  519. package/dist/tests/fourslash/findallreferences.importalias.fourslash.d.ts +0 -1
  520. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  521. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.d.ts +0 -1
  522. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  523. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.d.ts +0 -1
  524. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  525. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.d.ts +0 -1
  526. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  527. package/dist/tests/fourslash/findallreferences.modules.fourslash.d.ts +0 -1
  528. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  529. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.d.ts +0 -1
  530. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  531. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.d.ts +0 -1
  532. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  533. package/dist/tests/fourslash/findallreferences.parameter.fourslash.d.ts +0 -1
  534. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  535. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.d.ts +0 -1
  536. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  537. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.d.ts +0 -1
  538. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  539. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.d.ts +0 -1
  540. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  541. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.d.ts +0 -1
  542. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  543. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.d.ts +0 -1
  544. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  545. package/dist/tests/fourslash/findallreferences.variable.fourslash.d.ts +0 -1
  546. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  547. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.d.ts +0 -1
  548. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  549. package/dist/tests/fourslash/hover.async.fourslash.d.ts +0 -1
  550. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.d.ts +0 -1
  551. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.d.ts +0 -1
  552. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.d.ts +0 -1
  553. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  554. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +0 -1
  555. package/dist/tests/fourslash/hover.classNoInit.fourslash.d.ts +0 -1
  556. package/dist/tests/fourslash/hover.docFromSrc.fourslash.d.ts +0 -1
  557. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.d.ts +0 -1
  558. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.d.ts +0 -1
  559. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.d.ts +0 -1
  560. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.d.ts +0 -1
  561. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.d.ts +0 -1
  562. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.d.ts +0 -1
  563. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.d.ts +0 -1
  564. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.d.ts +0 -1
  565. package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +0 -1
  566. package/dist/tests/fourslash/hover.docstring.links.fourslash.d.ts +0 -1
  567. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.d.ts +0 -1
  568. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.d.ts +0 -1
  569. package/dist/tests/fourslash/hover.docstring.split.fourslash.d.ts +0 -1
  570. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +0 -1
  571. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +0 -1
  572. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +0 -1
  573. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +0 -1
  574. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +0 -1
  575. package/dist/tests/fourslash/hover.formatted.fourslash.d.ts +0 -1
  576. package/dist/tests/fourslash/hover.fourslash.d.ts +0 -1
  577. package/dist/tests/fourslash/hover.import.django.view.fourslash.d.ts +0 -1
  578. package/dist/tests/fourslash/hover.import.fourslash.d.ts +0 -1
  579. package/dist/tests/fourslash/hover.inferred.fourslash.d.ts +0 -1
  580. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.d.ts +0 -1
  581. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.d.ts +0 -1
  582. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.d.ts +0 -1
  583. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.d.ts +0 -1
  584. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.d.ts +0 -1
  585. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.d.ts +0 -1
  586. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.d.ts +0 -1
  587. package/dist/tests/fourslash/hover.init.fourslash.d.ts +0 -1
  588. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.d.ts +0 -1
  589. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.d.ts +0 -1
  590. package/dist/tests/fourslash/hover.libStub.fourslash.d.ts +0 -1
  591. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.d.ts +0 -1
  592. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.d.ts +0 -1
  593. package/dist/tests/fourslash/hover.plainText.fourslash.d.ts +0 -1
  594. package/dist/tests/fourslash/hover.slots.fourslash.d.ts +0 -1
  595. package/dist/tests/fourslash/hover.typedDict.key.fourslash.d.ts +0 -1
  596. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.d.ts +0 -1
  597. package/dist/tests/fourslash/hover.variable.docString.fourslash.d.ts +0 -1
  598. package/dist/tests/fourslash/hover.wildcardimports.fourslash.d.ts +0 -1
  599. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +0 -1
  600. package/dist/tests/fourslash/import.nameconflict.fourslash.d.ts +0 -1
  601. package/dist/tests/fourslash/import.publicSymbols.fourslash.d.ts +0 -1
  602. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  603. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.d.ts +0 -1
  604. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.d.ts +0 -1
  605. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.d.ts +0 -1
  606. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.d.ts +0 -1
  607. package/dist/tests/fourslash/import.wildcard.fourslash.d.ts +0 -1
  608. package/dist/tests/fourslash/importnotresolved.fourslash.d.ts +0 -1
  609. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.d.ts +0 -1
  610. package/dist/tests/fourslash/missingModuleSource.fourslash.d.ts +0 -1
  611. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.d.ts +0 -1
  612. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.d.ts +0 -1
  613. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.d.ts +0 -1
  614. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.d.ts +0 -1
  615. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.d.ts +0 -1
  616. package/dist/tests/fourslash/missingTypeStub.fourslash.d.ts +0 -1
  617. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.d.ts +0 -1
  618. package/dist/tests/fourslash/noerrors.fourslash.d.ts +0 -1
  619. package/dist/tests/fourslash/orderImports1.command.fourslash.d.ts +0 -1
  620. package/dist/tests/fourslash/orderImports2.command.fourslash.d.ts +0 -1
  621. package/dist/tests/fourslash/rename.args.fourslash.d.ts +0 -1
  622. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -1
  623. package/dist/tests/fourslash/rename.externallyHidden.fourslash.d.ts +0 -1
  624. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.d.ts +0 -1
  625. package/dist/tests/fourslash/rename.fourslash.d.ts +0 -1
  626. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  627. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.d.ts +0 -1
  628. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  629. package/dist/tests/fourslash/rename.init.fourslash.d.ts +0 -1
  630. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  631. package/dist/tests/fourslash/rename.library.fourslash.d.ts +0 -1
  632. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.d.ts +0 -1
  633. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +0 -1
  634. package/dist/tests/fourslash/rename.parens.fourslash.d.ts +0 -1
  635. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  636. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.d.ts +0 -1
  637. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  638. package/dist/tests/fourslash/rename.string.excluded.fourslash.d.ts +0 -1
  639. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  640. package/dist/tests/fourslash/rename.string.fourslash.d.ts +0 -1
  641. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  642. package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +0 -1
  643. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.d.ts +0 -1
  644. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  645. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.d.ts +0 -1
  646. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  647. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.d.ts +0 -1
  648. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  649. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.d.ts +0 -1
  650. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  651. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.d.ts +0 -1
  652. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  653. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.d.ts +0 -1
  654. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  655. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.d.ts +0 -1
  656. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  657. package/dist/tests/fourslash/signature.complicated.fourslash.d.ts +0 -1
  658. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  659. package/dist/tests/fourslash/signature.cornercases.fourslash.d.ts +0 -1
  660. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  661. package/dist/tests/fourslash/signature.docstrings.fourslash.d.ts +0 -1
  662. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  663. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.d.ts +0 -1
  664. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  665. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.d.ts +0 -1
  666. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  667. package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +0 -1
  668. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  669. package/dist/tests/fourslash/signature.overload.fourslash.d.ts +0 -1
  670. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  671. package/dist/tests/fourslash/signature.simple.fourslash.d.ts +0 -1
  672. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  673. package/dist/tests/fourslash/typeVerifier.fourslash.d.ts +0 -1
  674. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  675. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -2
  676. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  677. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  678. package/dist/tests/harness/fourslash/runner.d.ts +0 -1
  679. package/dist/tests/harness/fourslash/runner.js +2 -3
  680. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  681. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  682. package/dist/tests/harness/fourslash/testState.js +7 -7
  683. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  684. package/dist/tests/harness/fourslash/testStateUtils.js +4 -5
  685. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  686. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +7 -8
  687. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  688. package/dist/tests/harness/testHost.js.map +1 -1
  689. package/dist/tests/harness/utils.d.ts +0 -2
  690. package/dist/tests/harness/utils.js +7 -7
  691. package/dist/tests/harness/utils.js.map +1 -1
  692. package/dist/tests/harness/vfs/factory.js +3 -3
  693. package/dist/tests/harness/vfs/factory.js.map +1 -1
  694. package/dist/tests/harness/vfs/filesystem.d.ts +0 -2
  695. package/dist/tests/harness/vfs/filesystem.js +2 -2
  696. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  697. package/dist/tests/harness/vfs/pathValidation.js +2 -2
  698. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  699. package/dist/tests/importResolver.test.js.map +1 -1
  700. package/dist/tests/importStatementUtils.test.js.map +1 -1
  701. package/dist/tests/ipythonMode.test.js.map +1 -1
  702. package/dist/tests/languageServer.test.js.map +1 -1
  703. package/dist/tests/localizer.test.js.map +1 -1
  704. package/dist/tests/lsp/languageServer.js +1 -2
  705. package/dist/tests/lsp/languageServer.js.map +1 -1
  706. package/dist/tests/lsp/languageServerTestUtils.js +14 -14
  707. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  708. package/dist/tests/lsp/webpack.testserver.config.d.ts +2 -2
  709. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  710. package/dist/tests/pathUtils.test.js.map +1 -1
  711. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  712. package/dist/tests/serialization.test.js +1 -2
  713. package/dist/tests/serialization.test.js.map +1 -1
  714. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  715. package/dist/tests/testStateUtils.js +5 -6
  716. package/dist/tests/testStateUtils.js.map +1 -1
  717. package/dist/tests/testUtils.js +8 -9
  718. package/dist/tests/testUtils.js.map +1 -1
  719. package/dist/tests/textEditUtil.test.js.map +1 -1
  720. package/dist/tests/tokenizer.test.js.map +1 -1
  721. package/dist/tests/typeEvaluator1.test.js +6 -6
  722. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  723. package/dist/tests/typeEvaluator2.test.js +8 -0
  724. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  725. package/dist/tests/typeEvaluator3.test.js +2 -2
  726. package/dist/tests/typeEvaluator4.test.js +2 -2
  727. package/dist/tests/typeEvaluator6.test.js +17 -9
  728. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  729. package/dist/tests/uri.test.js.map +1 -1
  730. package/dist/workspaceFactory.js +3 -3
  731. package/dist/workspaceFactory.js.map +1 -1
  732. package/package.json +2 -2
@@ -412,12 +412,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
412
412
  }
413
413
  }
414
414
  this._scopedNodes.push(node);
415
- if (functionTypeResult && (0, types_1.isOverloadedFunction)(functionTypeResult.decoratedType)) {
415
+ if (functionTypeResult && (0, types_1.isOverloaded)(functionTypeResult.decoratedType)) {
416
416
  // If this is the implementation for the overloaded function, skip
417
417
  // overload consistency checks.
418
- if (types_1.OverloadedFunctionType.getImplementation(functionTypeResult.decoratedType) !==
419
- functionTypeResult.functionType) {
420
- const overloads = types_1.OverloadedFunctionType.getOverloads(functionTypeResult.decoratedType);
418
+ if (types_1.OverloadedType.getImplementation(functionTypeResult.decoratedType) !== functionTypeResult.functionType) {
419
+ const overloads = types_1.OverloadedType.getOverloads(functionTypeResult.decoratedType);
421
420
  if (overloads.length > 1) {
422
421
  const maxOverloadConsistencyCheckLength = 100;
423
422
  // The check is n^2 in time, so if the number of overloads
@@ -1218,7 +1217,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1218
1217
  let isCoroutine = true;
1219
1218
  (0, typeUtils_1.doForEachSubtype)(exprTypeResult.type, (subtype) => {
1220
1219
  subtype = this._evaluator.makeTopLevelTypeVarsConcrete(subtype);
1221
- if (!(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloadedFunction)(subtype)) {
1220
+ if (!(0, types_1.isFunction)(subtype) && !(0, types_1.isOverloaded)(subtype)) {
1222
1221
  isExprFunction = false;
1223
1222
  }
1224
1223
  if (!(0, types_1.isClassInstance)(subtype) || !types_1.ClassType.isBuiltIn(subtype, 'Coroutine')) {
@@ -1467,8 +1466,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1467
1466
  if ((0, typeUtils_1.isNoneInstance)(leftType) || (0, typeUtils_1.isNoneInstance)(rightType)) {
1468
1467
  return (0, types_1.isTypeSame)(leftType, rightType);
1469
1468
  }
1470
- const isLeftCallable = (0, types_1.isFunction)(leftType) || (0, types_1.isOverloadedFunction)(leftType);
1471
- const isRightCallable = (0, types_1.isFunction)(rightType) || (0, types_1.isOverloadedFunction)(rightType);
1469
+ const isLeftCallable = (0, types_1.isFunction)(leftType) || (0, types_1.isOverloaded)(leftType);
1470
+ const isRightCallable = (0, types_1.isFunction)(rightType) || (0, types_1.isOverloaded)(rightType);
1472
1471
  if (isLeftCallable !== isRightCallable) {
1473
1472
  return false;
1474
1473
  }
@@ -1737,7 +1736,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1737
1736
  }
1738
1737
  // Skip this check if the function is overloaded because the TypeVar
1739
1738
  // will be solved in terms of the overload signatures.
1740
- const skipUnsolvableTypeVarCheck = (0, types_1.isOverloadedFunction)(functionTypeResult.decoratedType) &&
1739
+ const skipUnsolvableTypeVarCheck = (0, types_1.isOverloaded)(functionTypeResult.decoratedType) &&
1741
1740
  !types_1.FunctionType.isOverloaded(functionTypeResult.functionType);
1742
1741
  if (isUsedInReturnType &&
1743
1742
  usage.paramTypeWithEllipsisUsageCount > 0 &&
@@ -1770,9 +1769,18 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1770
1769
  // Validates that overloads use @staticmethod and @classmethod consistently.
1771
1770
  _validateOverloadAttributeConsistency(node, functionType) {
1772
1771
  var _a, _b, _c, _d, _e, _f;
1772
+ // Don't bother with the check if it's suppressed.
1773
+ if (this._fileInfo.diagnosticRuleSet.reportInconsistentOverload === 'none') {
1774
+ return;
1775
+ }
1773
1776
  let staticMethodCount = 0;
1774
1777
  let classMethodCount = 0;
1775
- functionType.priv.overloads.forEach((overload) => {
1778
+ const overloads = types_1.OverloadedType.getOverloads(functionType);
1779
+ if (overloads.length === 0) {
1780
+ return;
1781
+ }
1782
+ let totalMethods = overloads.length;
1783
+ overloads.forEach((overload) => {
1776
1784
  if (types_1.FunctionType.isStaticMethod(overload)) {
1777
1785
  staticMethodCount++;
1778
1786
  }
@@ -1780,19 +1788,33 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1780
1788
  classMethodCount++;
1781
1789
  }
1782
1790
  });
1783
- if (staticMethodCount > 0 && staticMethodCount < functionType.priv.overloads.length) {
1791
+ const impl = types_1.OverloadedType.getImplementation(functionType);
1792
+ if (impl && (0, types_1.isFunction)(impl)) {
1793
+ totalMethods += 1;
1794
+ if (types_1.FunctionType.isStaticMethod(impl)) {
1795
+ staticMethodCount++;
1796
+ }
1797
+ if (types_1.FunctionType.isClassMethod(impl)) {
1798
+ classMethodCount++;
1799
+ }
1800
+ }
1801
+ if (staticMethodCount > 0 && staticMethodCount < totalMethods) {
1784
1802
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadStaticMethodInconsistent().format({
1785
1803
  name: node.d.name.d.value,
1786
- }), (_c = (_b = (_a = functionType.priv.overloads[0]) === null || _a === void 0 ? void 0 : _a.shared.declaration) === null || _b === void 0 ? void 0 : _b.node.d.name) !== null && _c !== void 0 ? _c : node.d.name);
1804
+ }), (_c = (_b = (_a = overloads[0]) === null || _a === void 0 ? void 0 : _a.shared.declaration) === null || _b === void 0 ? void 0 : _b.node.d.name) !== null && _c !== void 0 ? _c : node.d.name);
1787
1805
  }
1788
- if (classMethodCount > 0 && classMethodCount < functionType.priv.overloads.length) {
1806
+ if (classMethodCount > 0 && classMethodCount < totalMethods) {
1789
1807
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadClassMethodInconsistent().format({
1790
1808
  name: node.d.name.d.value,
1791
- }), (_f = (_e = (_d = functionType.priv.overloads[0]) === null || _d === void 0 ? void 0 : _d.shared.declaration) === null || _e === void 0 ? void 0 : _e.node.d.name) !== null && _f !== void 0 ? _f : node.d.name);
1809
+ }), (_f = (_e = (_d = overloads[0]) === null || _d === void 0 ? void 0 : _d.shared.declaration) === null || _e === void 0 ? void 0 : _e.node.d.name) !== null && _f !== void 0 ? _f : node.d.name);
1792
1810
  }
1793
1811
  }
1794
1812
  // Validates that overloads do not overlap with inconsistent return results.
1795
1813
  _validateOverloadConsistency(node, functionType, prevOverloads) {
1814
+ // Skip the check entirely if it's disabled.
1815
+ if (this._fileInfo.diagnosticRuleSet.reportOverlappingOverload === 'none') {
1816
+ return;
1817
+ }
1796
1818
  for (let i = 0; i < prevOverloads.length; i++) {
1797
1819
  const prevOverload = prevOverloads[i];
1798
1820
  if (this._isOverlappingOverload(functionType, prevOverload, /* partialOverlap */ false)) {
@@ -1813,8 +1835,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1813
1835
  returnType &&
1814
1836
  !this._evaluator.assignType(returnType, prevReturnType,
1815
1837
  /* diag */ undefined,
1816
- /* destConstraints */ undefined,
1817
- /* srcConstraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
1838
+ /* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
1818
1839
  const altNode = this._findNodeForOverload(node, prevOverload);
1819
1840
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportOverlappingOverload, localize_1.LocMessage.overloadReturnTypeMismatch().format({
1820
1841
  name: node.d.name.d.value,
@@ -1872,43 +1893,43 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
1872
1893
  }
1873
1894
  return this._evaluator.assignType(functionType, prevOverload,
1874
1895
  /* diag */ undefined,
1875
- /* destConstraints */ undefined,
1876
- /* srcConstraints */ undefined, flags);
1896
+ /* constraints */ undefined, flags);
1877
1897
  }
1878
1898
  // Determines whether the implementation of an overload is compatible with an
1879
1899
  // overload signature. To be compatible, the implementation must accept all
1880
1900
  // of the same arguments as the overload and return a type that is consistent
1881
1901
  // with the overload's return type.
1882
1902
  _validateOverloadImplementation(overload, implementation, diag) {
1883
- var _a, _b, _c;
1884
- const implConstraints = new constraintTracker_1.ConstraintTracker();
1885
- const overloadConstraints = new constraintTracker_1.ConstraintTracker();
1903
+ var _a, _b, _c, _d, _e;
1904
+ const constraints = new constraintTracker_1.ConstraintTracker();
1905
+ let implBound = implementation;
1906
+ let overloadBound = overload;
1907
+ const implNode = (_b = (_a = implementation.shared.declaration) === null || _a === void 0 ? void 0 : _a.node) === null || _b === void 0 ? void 0 : _b.parent;
1908
+ if (implNode) {
1909
+ const liveScopeIds = ParseTreeUtils.getTypeVarScopesForNode(implNode);
1910
+ implBound = (0, typeUtils_1.makeTypeVarsBound)(implementation, liveScopeIds);
1911
+ }
1912
+ const overloadNode = (_c = overload.shared.declaration) === null || _c === void 0 ? void 0 : _c.node;
1913
+ if (overloadNode) {
1914
+ const liveScopeIds = ParseTreeUtils.getTypeVarScopesForNode(overloadNode);
1915
+ overloadBound = (0, typeUtils_1.makeTypeVarsBound)(overload, liveScopeIds);
1916
+ }
1886
1917
  // First check the parameters to see if they are assignable.
1887
- let isLegal = this._evaluator.assignType(overload, implementation, diag, overloadConstraints, implConstraints, 64 /* AssignTypeFlags.SkipReturnTypeCheck */ |
1888
- 2 /* AssignTypeFlags.ReverseTypeVarMatching */ |
1889
- 512 /* AssignTypeFlags.SkipSelfClsTypeCheck */);
1918
+ let isConsistent = this._evaluator.assignType(overloadBound, implBound, diag, constraints, 64 /* AssignTypeFlags.SkipReturnTypeCheck */ | 2 /* AssignTypeFlags.Contravariant */ | 512 /* AssignTypeFlags.SkipSelfClsTypeCheck */);
1890
1919
  // Now check the return types.
1891
- let overloadReturnType = (_a = overload.shared.declaredReturnType) !== null && _a !== void 0 ? _a : this._evaluator.getFunctionInferredReturnType(overload);
1892
- let implementationReturnType = this._evaluator.solveAndApplyConstraints(implementation.shared.declaredReturnType || this._evaluator.getFunctionInferredReturnType(implementation), implConstraints);
1893
- if ((_c = (_b = implementation.shared.declaration) === null || _b === void 0 ? void 0 : _b.node) === null || _c === void 0 ? void 0 : _c.parent) {
1894
- // Use the parent node of the implementation to determine which type variables
1895
- // are live. This will include any class-scoped type variables if this is an
1896
- // overloaded method.
1897
- const liveScopeIds = ParseTreeUtils.getTypeVarScopesForNode(implementation.shared.declaration.node.parent);
1898
- implementationReturnType = (0, typeUtils_1.makeTypeVarsBound)(implementationReturnType, liveScopeIds);
1899
- overloadReturnType = (0, typeUtils_1.makeTypeVarsBound)(overloadReturnType, liveScopeIds);
1900
- }
1920
+ const overloadReturnType = this._evaluator.solveAndApplyConstraints((_d = types_1.FunctionType.getEffectiveReturnType(overloadBound)) !== null && _d !== void 0 ? _d : this._evaluator.getFunctionInferredReturnType(overloadBound), constraints);
1921
+ const implReturnType = this._evaluator.solveAndApplyConstraints((_e = types_1.FunctionType.getEffectiveReturnType(implBound)) !== null && _e !== void 0 ? _e : this._evaluator.getFunctionInferredReturnType(implBound), constraints);
1901
1922
  const returnDiag = new diagnostic_1.DiagnosticAddendum();
1902
1923
  if (!(0, types_1.isNever)(overloadReturnType) &&
1903
- !this._evaluator.assignType(implementationReturnType, overloadReturnType, returnDiag.createAddendum(), implConstraints, overloadConstraints, 0 /* AssignTypeFlags.Default */)) {
1924
+ !this._evaluator.assignType(implReturnType, overloadReturnType, returnDiag.createAddendum(), constraints, 0 /* AssignTypeFlags.Default */)) {
1904
1925
  returnDiag.addMessage(localize_1.LocAddendum.functionReturnTypeMismatch().format({
1905
1926
  sourceType: this._evaluator.printType(overloadReturnType),
1906
- destType: this._evaluator.printType(implementationReturnType),
1927
+ destType: this._evaluator.printType(implReturnType),
1907
1928
  }));
1908
1929
  diag === null || diag === void 0 ? void 0 : diag.addAddendum(returnDiag);
1909
- isLegal = false;
1930
+ isConsistent = false;
1910
1931
  }
1911
- return isLegal;
1932
+ return isConsistent;
1912
1933
  }
1913
1934
  _walkStatementsAndReportUnreachable(statements) {
1914
1935
  let reportedUnreachable = false;
@@ -2128,16 +2149,16 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2128
2149
  return;
2129
2150
  }
2130
2151
  const type = this._evaluator.getEffectiveTypeOfSymbol(symbol);
2131
- const overloadedFunctions = (0, types_1.isOverloadedFunction)(type)
2132
- ? types_1.OverloadedFunctionType.getOverloads(type)
2152
+ const overloads = (0, types_1.isOverloaded)(type)
2153
+ ? types_1.OverloadedType.getOverloads(type)
2133
2154
  : (0, types_1.isFunction)(type) && types_1.FunctionType.isOverloaded(type)
2134
2155
  ? [type]
2135
2156
  : [];
2136
2157
  // If the implementation has no name, it was synthesized probably by a
2137
2158
  // decorator that used a callable with a ParamSpec that captured the
2138
2159
  // overloaded signature. We'll exempt it from this check.
2139
- if ((0, types_1.isOverloadedFunction)(type)) {
2140
- const overloads = types_1.OverloadedFunctionType.getOverloads(type);
2160
+ if ((0, types_1.isOverloaded)(type)) {
2161
+ const overloads = types_1.OverloadedType.getOverloads(type);
2141
2162
  if (overloads.length > 0 && overloads[0].shared.name === '') {
2142
2163
  return;
2143
2164
  }
@@ -2147,23 +2168,23 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2147
2168
  return;
2148
2169
  }
2149
2170
  }
2150
- if (overloadedFunctions.length === 1) {
2171
+ if (overloads.length === 1) {
2151
2172
  // There should never be a single overload.
2152
2173
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.singleOverload().format({ name }), primaryDecl.node.d.name);
2153
2174
  }
2154
2175
  // If the file is not a stub and this is the first overload,
2155
2176
  // verify that there is an implementation.
2156
- if (this._fileInfo.isStubFile || overloadedFunctions.length === 0) {
2177
+ if (this._fileInfo.isStubFile || overloads.length === 0) {
2157
2178
  return;
2158
2179
  }
2159
- let implementationFunction;
2160
- if ((0, types_1.isOverloadedFunction)(type)) {
2161
- implementationFunction = types_1.OverloadedFunctionType.getImplementation(type);
2180
+ let implementation;
2181
+ if ((0, types_1.isOverloaded)(type)) {
2182
+ implementation = types_1.OverloadedType.getImplementation(type);
2162
2183
  }
2163
2184
  else if ((0, types_1.isFunction)(type) && !types_1.FunctionType.isOverloaded(type)) {
2164
- implementationFunction = type;
2185
+ implementation = type;
2165
2186
  }
2166
- if (!implementationFunction) {
2187
+ if (!implementation) {
2167
2188
  const containingClassNode = ParseTreeUtils.getEnclosingClassOrFunction(primaryDecl.node);
2168
2189
  if (containingClassNode && containingClassNode.nodeType === 10 /* ParseNodeType.Class */) {
2169
2190
  const classType = this._evaluator.getTypeOfClass(containingClassNode);
@@ -2172,8 +2193,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2172
2193
  return;
2173
2194
  }
2174
2195
  if (types_1.ClassType.supportsAbstractMethods(classType.classType)) {
2175
- if ((0, types_1.isOverloadedFunction)(type) &&
2176
- types_1.OverloadedFunctionType.getOverloads(type).every((overload) => types_1.FunctionType.isAbstractMethod(overload))) {
2196
+ if ((0, types_1.isOverloaded)(type) &&
2197
+ types_1.OverloadedType.getOverloads(type).every((overload) => types_1.FunctionType.isAbstractMethod(overload))) {
2177
2198
  return;
2178
2199
  }
2179
2200
  }
@@ -2186,19 +2207,24 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
2186
2207
  }), primaryDecl.node.d.name);
2187
2208
  return;
2188
2209
  }
2189
- if (!(0, types_1.isOverloadedFunction)(type)) {
2210
+ if (!(0, types_1.isOverloaded)(type)) {
2211
+ return;
2212
+ }
2213
+ if (this._fileInfo.diagnosticRuleSet.reportInconsistentOverload === 'none') {
2190
2214
  return;
2191
2215
  }
2192
2216
  // Verify that all overload signatures are assignable to implementation signature.
2193
- types_1.OverloadedFunctionType.getOverloads(type).forEach((overload, index) => {
2217
+ types_1.OverloadedType.getOverloads(type).forEach((overload, index) => {
2194
2218
  var _a, _b, _c, _d;
2195
2219
  const diag = new diagnostic_1.DiagnosticAddendum();
2196
- if (!this._validateOverloadImplementation(overload, implementationFunction, diag)) {
2197
- if (implementationFunction.shared.declaration) {
2220
+ if (implementation &&
2221
+ (0, types_1.isFunction)(implementation) &&
2222
+ !this._validateOverloadImplementation(overload, implementation, diag)) {
2223
+ if (implementation.shared.declaration) {
2198
2224
  const diagnostic = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadImplementationMismatch().format({
2199
2225
  name,
2200
2226
  index: index + 1,
2201
- }) + diag.getString(), implementationFunction.shared.declaration.node.d.name);
2227
+ }) + diag.getString(), implementation.shared.declaration.node.d.name);
2202
2228
  if (diagnostic && overload.shared.declaration) {
2203
2229
  diagnostic.addRelatedInfo(localize_1.LocAddendum.overloadSignature(), (_b = (_a = overload.shared.declaration) === null || _a === void 0 ? void 0 : _a.uri) !== null && _b !== void 0 ? _b : primaryDecl.uri, (_d = (_c = overload.shared.declaration) === null || _c === void 0 ? void 0 : _c.range) !== null && _d !== void 0 ? _d : primaryDecl.range);
2204
2230
  }
@@ -3128,7 +3154,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3128
3154
  }
3129
3155
  }
3130
3156
  }
3131
- else if ((0, types_1.isOverloadedFunction)(subtype)) {
3157
+ else if ((0, types_1.isOverloaded)(subtype)) {
3132
3158
  // Determine if the node is part of a call expression. If so,
3133
3159
  // we can determine which overload(s) were used to satisfy
3134
3160
  // the call expression and determine whether any of them
@@ -3136,11 +3162,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3136
3162
  getDeprecatedMessageForOverloadedCall(this._evaluator, subtype);
3137
3163
  // If there the implementation itself is deprecated, assume it
3138
3164
  // is deprecated even if it's outside of a call expression.
3139
- const overloadImpl = types_1.OverloadedFunctionType.getImplementation(subtype);
3140
- if ((overloadImpl === null || overloadImpl === void 0 ? void 0 : overloadImpl.shared.deprecatedMessage) !== undefined) {
3141
- if (!overloadImpl.shared.name || node.d.value === overloadImpl.shared.name) {
3142
- deprecatedMessage = overloadImpl.shared.deprecatedMessage;
3143
- errorMessage = getDeprecatedMessageForFunction(overloadImpl);
3165
+ const impl = types_1.OverloadedType.getImplementation(subtype);
3166
+ if (impl && (0, types_1.isFunction)(impl) && impl.shared.deprecatedMessage !== undefined) {
3167
+ if (!impl.shared.name || node.d.value === impl.shared.name) {
3168
+ deprecatedMessage = impl.shared.deprecatedMessage;
3169
+ errorMessage = getDeprecatedMessageForFunction(impl);
3144
3170
  }
3145
3171
  }
3146
3172
  }
@@ -3517,18 +3543,19 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
3517
3543
  }
3518
3544
  }
3519
3545
  else if (!types_1.FunctionType.isAbstractMethod(functionType)) {
3546
+ // If the function consists entirely of "...", assume that it's
3547
+ // an abstract method or a protocol method and don't require that
3548
+ // the return type matches. This check can also be skipped for an overload.
3549
+ const isEmptySuite = ParseTreeUtils.isSuiteEmpty(node.d.suite) || types_1.FunctionType.isOverloaded(functionType);
3520
3550
  // Make sure that the function doesn't implicitly return None if the declared
3521
3551
  // type doesn't allow it. Skip this check for abstract methods.
3522
- const diagAddendum = new diagnostic_1.DiagnosticAddendum();
3552
+ const diagAddendum = isEmptySuite ? undefined : new diagnostic_1.DiagnosticAddendum();
3523
3553
  // If the declared type isn't compatible with 'None', flag an error.
3524
3554
  if (!this._evaluator.assignType(declaredReturnType, this._evaluator.getNoneType(), diagAddendum)) {
3525
- // If the function consists entirely of "...", assume that it's
3526
- // an abstract method or a protocol method and don't require that
3527
- // the return type matches. This check can also be skipped for an overload.
3528
- if (!ParseTreeUtils.isSuiteEmpty(node.d.suite) && !types_1.FunctionType.isOverloaded(functionType)) {
3555
+ if (!isEmptySuite) {
3529
3556
  this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportReturnType, localize_1.LocMessage.returnMissing().format({
3530
3557
  returnType: this._evaluator.printType(declaredReturnType),
3531
- }) + diagAddendum.getString(), returnAnnotation);
3558
+ }) + (diagAddendum === null || diagAddendum === void 0 ? void 0 : diagAddendum.getString()), returnAnnotation);
3532
3559
  }
3533
3560
  }
3534
3561
  }
@@ -4058,24 +4085,24 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4058
4085
  return;
4059
4086
  }
4060
4087
  let newMemberType = newMethodResult.type;
4061
- if (!(0, types_1.isFunction)(newMemberType) && !(0, types_1.isOverloadedFunction)(newMemberType)) {
4088
+ if (!(0, types_1.isFunction)(newMemberType) && !(0, types_1.isOverloaded)(newMemberType)) {
4062
4089
  return;
4063
4090
  }
4064
- if ((0, types_1.isOverloadedFunction)(newMemberType)) {
4091
+ if ((0, types_1.isOverloaded)(newMemberType)) {
4065
4092
  // Find the implementation, not the overloaded signatures.
4066
- newMemberType = types_1.OverloadedFunctionType.getImplementation(newMemberType);
4067
- if (!newMemberType) {
4093
+ newMemberType = types_1.OverloadedType.getImplementation(newMemberType);
4094
+ if (!newMemberType || !(0, types_1.isFunction)(newMemberType)) {
4068
4095
  return;
4069
4096
  }
4070
4097
  }
4071
4098
  let initMemberType = initMethodResult.type;
4072
- if (!(0, types_1.isFunction)(initMemberType) && !(0, types_1.isOverloadedFunction)(initMemberType)) {
4099
+ if (!(0, types_1.isFunction)(initMemberType) && !(0, types_1.isOverloaded)(initMemberType)) {
4073
4100
  return;
4074
4101
  }
4075
- if ((0, types_1.isOverloadedFunction)(initMemberType)) {
4102
+ if ((0, types_1.isOverloaded)(initMemberType)) {
4076
4103
  // Find the implementation, not the overloaded signatures.
4077
- initMemberType = types_1.OverloadedFunctionType.getImplementation(initMemberType);
4078
- if (!initMemberType) {
4104
+ initMemberType = types_1.OverloadedType.getImplementation(initMemberType);
4105
+ if (!initMemberType || !(0, types_1.isFunction)(initMemberType)) {
4079
4106
  return;
4080
4107
  }
4081
4108
  }
@@ -4086,12 +4113,10 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4086
4113
  }
4087
4114
  if (!this._evaluator.assignType(newMemberType, initMemberType,
4088
4115
  /* diag */ undefined,
4089
- /* destConstraints */ undefined,
4090
- /* srcConstraints */ undefined, 64 /* AssignTypeFlags.SkipReturnTypeCheck */) ||
4116
+ /* constraints */ undefined, 64 /* AssignTypeFlags.SkipReturnTypeCheck */) ||
4091
4117
  !this._evaluator.assignType(initMemberType, newMemberType,
4092
4118
  /* diag */ undefined,
4093
- /* destConstraints */ undefined,
4094
- /* srcConstraints */ undefined, 64 /* AssignTypeFlags.SkipReturnTypeCheck */)) {
4119
+ /* constraints */ undefined, 64 /* AssignTypeFlags.SkipReturnTypeCheck */)) {
4095
4120
  const displayOnInit = types_1.ClassType.isSameGenericClass(initMethodResult.classType, classType);
4096
4121
  const initDecl = initMemberType.shared.declaration;
4097
4122
  const newDecl = newMemberType.shared.declaration;
@@ -4260,19 +4285,20 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4260
4285
  let diag;
4261
4286
  const overrideDecl = (0, symbolUtils_1.getLastTypedDeclarationForSymbol)(overrideClassAndSymbol.symbol);
4262
4287
  const overriddenDecl = (0, symbolUtils_1.getLastTypedDeclarationForSymbol)(overriddenClassAndSymbol.symbol);
4263
- if ((0, types_1.isFunction)(overriddenType) || (0, types_1.isOverloadedFunction)(overriddenType)) {
4288
+ if ((0, types_1.isFunction)(overriddenType) || (0, types_1.isOverloaded)(overriddenType)) {
4264
4289
  const diagAddendum = new diagnostic_1.DiagnosticAddendum();
4265
4290
  let overrideFunction;
4266
4291
  if ((0, types_1.isFunction)(overrideType)) {
4267
4292
  overrideFunction = overrideType;
4268
4293
  }
4269
- else if ((0, types_1.isOverloadedFunction)(overrideType)) {
4294
+ else if ((0, types_1.isOverloaded)(overrideType)) {
4270
4295
  // Use the last overload.
4271
- overrideFunction = types_1.OverloadedFunctionType.getImplementation(overrideType);
4296
+ const impl = types_1.OverloadedType.getImplementation(overrideType);
4272
4297
  // If the last overload isn't an implementation, skip the check for this symbol.
4273
- if (!overrideFunction) {
4298
+ if (!impl || !(0, types_1.isFunction)(impl)) {
4274
4299
  return;
4275
4300
  }
4301
+ overrideFunction = impl;
4276
4302
  }
4277
4303
  if (overrideFunction) {
4278
4304
  if (!this._evaluator.validateOverrideMethod(overriddenType, overrideFunction,
@@ -4333,8 +4359,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4333
4359
  }
4334
4360
  if (!this._evaluator.assignType(overriddenType, childOverrideType !== null && childOverrideType !== void 0 ? childOverrideType : overrideType,
4335
4361
  /* diag */ undefined,
4336
- /* destConstraints */ undefined,
4337
- /* srcConstraints */ undefined, isInvariant ? 1 /* AssignTypeFlags.EnforceInvariance */ : 0 /* AssignTypeFlags.Default */)) {
4362
+ /* constraints */ undefined, isInvariant ? 1 /* AssignTypeFlags.Invariant */ : 0 /* AssignTypeFlags.Default */)) {
4338
4363
  diag = this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportIncompatibleVariableOverride, localize_1.LocMessage.baseClassVariableTypeIncompatible().format({
4339
4364
  classType: childClassType.shared.name,
4340
4365
  name: memberName,
@@ -4448,40 +4473,78 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4448
4473
  return;
4449
4474
  }
4450
4475
  const typeOfSymbol = this._evaluator.getEffectiveTypeOfSymbol(symbol);
4451
- if (!(0, types_1.isOverloadedFunction)(typeOfSymbol)) {
4476
+ if (!(0, types_1.isOverloaded)(typeOfSymbol)) {
4452
4477
  return;
4453
4478
  }
4454
- const overloads = types_1.OverloadedFunctionType.getOverloads(typeOfSymbol);
4455
- // If there's an implementation, it will determine whether the
4456
- // function is @final.
4457
- const implementation = types_1.OverloadedFunctionType.getImplementation(typeOfSymbol);
4458
- if (implementation) {
4459
- // If one or more of the overloads is marked @final but the
4460
- // implementation is not, report an error.
4461
- if (!types_1.FunctionType.isFinal(implementation)) {
4462
- overloads.forEach((overload) => {
4463
- var _a, _b;
4464
- if (types_1.FunctionType.isFinal(overload) && ((_a = overload.shared.declaration) === null || _a === void 0 ? void 0 : _a.node)) {
4465
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadFinalInconsistencyImpl().format({
4466
- name: overload.shared.name,
4467
- }), (_b = (0, declarationUtils_1.getNameNodeForDeclaration)(overload.shared.declaration)) !== null && _b !== void 0 ? _b : overload.shared.declaration.node);
4468
- }
4469
- });
4470
- }
4479
+ const overloads = types_1.OverloadedType.getOverloads(typeOfSymbol);
4480
+ const implementation = types_1.OverloadedType.getImplementation(typeOfSymbol);
4481
+ this._validateOverloadFinalConsistency(overloads, implementation);
4482
+ this._validateOverloadAbstractConsistency(overloads, implementation);
4483
+ });
4484
+ }
4485
+ _validateOverloadAbstractConsistency(overloads, implementation) {
4486
+ // If there's an implementation, it will determine whether the
4487
+ // function is abstract.
4488
+ if (implementation && (0, types_1.isFunction)(implementation)) {
4489
+ const isImplAbstract = types_1.FunctionType.isAbstractMethod(implementation);
4490
+ if (isImplAbstract) {
4471
4491
  return;
4472
4492
  }
4473
- if (!types_1.FunctionType.isFinal(overloads[0])) {
4474
- overloads.slice(1).forEach((overload, index) => {
4493
+ overloads.forEach((overload) => {
4494
+ var _a;
4495
+ const decl = overload.shared.declaration;
4496
+ if (types_1.FunctionType.isAbstractMethod(overload) && decl) {
4497
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadAbstractImplMismatch().format({
4498
+ name: overload.shared.name,
4499
+ }), (_a = (0, declarationUtils_1.getNameNodeForDeclaration)(decl)) !== null && _a !== void 0 ? _a : decl.node);
4500
+ }
4501
+ });
4502
+ return;
4503
+ }
4504
+ if (overloads.length < 2) {
4505
+ return;
4506
+ }
4507
+ // If there was no implementation, make sure all overloads are either
4508
+ // abstract or not abstract.
4509
+ const isFirstOverloadAbstract = types_1.FunctionType.isAbstractMethod(overloads[0]);
4510
+ overloads.slice(1).forEach((overload, index) => {
4511
+ var _a;
4512
+ if (types_1.FunctionType.isAbstractMethod(overload) !== isFirstOverloadAbstract && overload.shared.declaration) {
4513
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadAbstractMismatch().format({
4514
+ name: overload.shared.name,
4515
+ }), (_a = (0, declarationUtils_1.getNameNodeForDeclaration)(overload.shared.declaration)) !== null && _a !== void 0 ? _a : overload.shared.declaration.node);
4516
+ }
4517
+ });
4518
+ }
4519
+ _validateOverloadFinalConsistency(overloads, implementation) {
4520
+ // If there's an implementation, it will determine whether the
4521
+ // function is @final.
4522
+ if (implementation && (0, types_1.isFunction)(implementation)) {
4523
+ // If one or more of the overloads is marked @final but the
4524
+ // implementation is not, report an error.
4525
+ if (!types_1.FunctionType.isFinal(implementation)) {
4526
+ overloads.forEach((overload) => {
4475
4527
  var _a, _b;
4476
4528
  if (types_1.FunctionType.isFinal(overload) && ((_a = overload.shared.declaration) === null || _a === void 0 ? void 0 : _a.node)) {
4477
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadFinalInconsistencyNoImpl().format({
4529
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadFinalInconsistencyImpl().format({
4478
4530
  name: overload.shared.name,
4479
- index: index + 2,
4480
4531
  }), (_b = (0, declarationUtils_1.getNameNodeForDeclaration)(overload.shared.declaration)) !== null && _b !== void 0 ? _b : overload.shared.declaration.node);
4481
4532
  }
4482
4533
  });
4483
4534
  }
4484
- });
4535
+ return;
4536
+ }
4537
+ if (overloads.length > 0 && !types_1.FunctionType.isFinal(overloads[0])) {
4538
+ overloads.slice(1).forEach((overload, index) => {
4539
+ var _a, _b;
4540
+ if (types_1.FunctionType.isFinal(overload) && ((_a = overload.shared.declaration) === null || _a === void 0 ? void 0 : _a.node)) {
4541
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInconsistentOverload, localize_1.LocMessage.overloadFinalInconsistencyNoImpl().format({
4542
+ name: overload.shared.name,
4543
+ index: index + 2,
4544
+ }), (_b = (0, declarationUtils_1.getNameNodeForDeclaration)(overload.shared.declaration)) !== null && _b !== void 0 ? _b : overload.shared.declaration.node);
4545
+ }
4546
+ });
4547
+ }
4485
4548
  }
4486
4549
  // For a TypedDict class that derives from another TypedDict class
4487
4550
  // that is closed, verify that any new keys are compatible with the
@@ -4514,9 +4577,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4514
4577
  }
4515
4578
  else if (!this._evaluator.assignType(baseExtraItemsType, entry.valueType,
4516
4579
  /* diag */ undefined,
4517
- /* destConstraints */ undefined,
4518
- /* srcConstraints */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4519
- ? 1 /* AssignTypeFlags.EnforceInvariance */
4580
+ /* constraints */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4581
+ ? 1 /* AssignTypeFlags.Invariant */
4520
4582
  : 0 /* AssignTypeFlags.Default */)) {
4521
4583
  diag.addMessage(localize_1.LocAddendum.typedDictClosedExtraTypeMismatch().format({
4522
4584
  name,
@@ -4533,9 +4595,8 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4533
4595
  if (typedDictEntries.extraItems && baseTypedDictEntries.extraItems) {
4534
4596
  if (!this._evaluator.assignType(baseExtraItemsType, typedDictEntries.extraItems.valueType,
4535
4597
  /* diag */ undefined,
4536
- /* destConstraints */ undefined,
4537
- /* srcConstraints */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4538
- ? 1 /* AssignTypeFlags.EnforceInvariance */
4598
+ /* constraints */ undefined, !baseTypedDictEntries.extraItems.isReadOnly
4599
+ ? 1 /* AssignTypeFlags.Invariant */
4539
4600
  : 0 /* AssignTypeFlags.Default */)) {
4540
4601
  diag.addMessage(localize_1.LocAddendum.typedDictClosedExtraTypeMismatch().format({
4541
4602
  name: '__extra_items__',
@@ -4623,8 +4684,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4623
4684
  if ((0, types_1.isFunction)(overrideType)) {
4624
4685
  overrideFunction = overrideType;
4625
4686
  }
4626
- else if ((0, types_1.isOverloadedFunction)(overrideType)) {
4627
- overrideFunction = types_1.OverloadedFunctionType.getImplementation(overrideType);
4687
+ else if ((0, types_1.isOverloaded)(overrideType)) {
4688
+ const impl = types_1.OverloadedType.getImplementation(overrideType);
4689
+ if (impl && (0, types_1.isFunction)(impl)) {
4690
+ overrideFunction = impl;
4691
+ }
4628
4692
  }
4629
4693
  else if ((0, types_1.isClassInstance)(overrideType) && types_1.ClassType.isPropertyClass(overrideType)) {
4630
4694
  if (overrideType.priv.fgetInfo) {
@@ -4666,8 +4730,11 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4666
4730
  if ((0, types_1.isFunction)(overrideType)) {
4667
4731
  overrideFunction = overrideType;
4668
4732
  }
4669
- else if ((0, types_1.isOverloadedFunction)(overrideType)) {
4670
- overrideFunction = types_1.OverloadedFunctionType.getImplementation(overrideType);
4733
+ else if ((0, types_1.isOverloaded)(overrideType)) {
4734
+ const impl = types_1.OverloadedType.getImplementation(overrideType);
4735
+ if (impl && (0, types_1.isFunction)(impl)) {
4736
+ overrideFunction = impl;
4737
+ }
4671
4738
  }
4672
4739
  else if ((0, types_1.isClassInstance)(overrideType) && types_1.ClassType.isPropertyClass(overrideType)) {
4673
4740
  if (overrideType.priv.fgetInfo) {
@@ -4706,9 +4773,13 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4706
4773
  }
4707
4774
  const baseClass = baseClassAndSymbol.classType;
4708
4775
  const childClassSelf = types_1.ClassType.cloneAsInstance((0, typeUtils_1.selfSpecializeClass)(childClassType));
4709
- const baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), childClassSelf);
4776
+ let baseType = (0, typeUtils_1.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(baseClassAndSymbol.symbol), baseClass, this._evaluator.getTypeClassType(), childClassSelf);
4710
4777
  overrideType = (0, typeUtils_1.partiallySpecializeType)(overrideType, childClassType, this._evaluator.getTypeClassType(), childClassSelf);
4711
- if ((0, types_1.isFunction)(baseType) || (0, types_1.isOverloadedFunction)(baseType)) {
4778
+ if (childClassType.shared.typeVarScopeId) {
4779
+ baseType = (0, typeUtils_1.makeTypeVarsBound)(baseType, [childClassType.shared.typeVarScopeId]);
4780
+ overrideType = (0, typeUtils_1.makeTypeVarsBound)(overrideType, [childClassType.shared.typeVarScopeId]);
4781
+ }
4782
+ if ((0, types_1.isFunction)(baseType) || (0, types_1.isOverloaded)(baseType)) {
4712
4783
  const diagAddendum = new diagnostic_1.DiagnosticAddendum();
4713
4784
  // Determine whether this is an attempt to override a method marked @final.
4714
4785
  let reportFinalMethodOverride = false;
@@ -4717,9 +4788,15 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4717
4788
  if ((0, types_1.isFunction)(baseType) && types_1.FunctionType.isFinal(baseType)) {
4718
4789
  reportFinalMethodOverride = true;
4719
4790
  }
4720
- else if ((0, types_1.isOverloadedFunction)(baseType) &&
4721
- baseType.priv.overloads.some((overload) => types_1.FunctionType.isFinal(overload))) {
4722
- reportFinalMethodOverride = true;
4791
+ else if ((0, types_1.isOverloaded)(baseType)) {
4792
+ const overloads = types_1.OverloadedType.getOverloads(baseType);
4793
+ const impl = types_1.OverloadedType.getImplementation(baseType);
4794
+ if (overloads.some((overload) => types_1.FunctionType.isFinal(overload))) {
4795
+ reportFinalMethodOverride = true;
4796
+ }
4797
+ if (impl && (0, types_1.isFunction)(impl) && types_1.FunctionType.isFinal(impl)) {
4798
+ reportFinalMethodOverride = true;
4799
+ }
4723
4800
  }
4724
4801
  }
4725
4802
  if (reportFinalMethodOverride) {
@@ -4735,7 +4812,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4735
4812
  }
4736
4813
  }
4737
4814
  }
4738
- if ((0, types_1.isFunction)(overrideType) || (0, types_1.isOverloadedFunction)(overrideType)) {
4815
+ if ((0, types_1.isFunction)(overrideType) || (0, types_1.isOverloaded)(overrideType)) {
4739
4816
  // Don't enforce parameter names for dundered methods. Many of them
4740
4817
  // are misnamed in typeshed stubs, so this would result in many
4741
4818
  // false positives.
@@ -4846,8 +4923,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
4846
4923
  }
4847
4924
  let diagAddendum = new diagnostic_1.DiagnosticAddendum();
4848
4925
  if (!this._evaluator.assignType(baseType, overrideType, diagAddendum,
4849
- /* destConstraints */ undefined,
4850
- /* srcConstraints */ undefined, isInvariant ? 1 /* AssignTypeFlags.EnforceInvariance */ : 0 /* AssignTypeFlags.Default */)) {
4926
+ /* constraints */ undefined, isInvariant ? 1 /* AssignTypeFlags.Invariant */ : 0 /* AssignTypeFlags.Default */)) {
4851
4927
  if (isInvariant) {
4852
4928
  diagAddendum = new diagnostic_1.DiagnosticAddendum();
4853
4929
  diagAddendum.addMessage(localize_1.LocAddendum.overrideIsInvariant());
@@ -5001,104 +5077,93 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
5001
5077
  // Performs checks on a function that is located within a class
5002
5078
  // and has been determined not to be a property accessor.
5003
5079
  _validateMethod(node, functionType, classNode) {
5004
- var _a, _b;
5005
5080
  const classTypeInfo = this._evaluator.getTypeOfClass(classNode);
5006
- const classType = classTypeInfo === null || classTypeInfo === void 0 ? void 0 : classTypeInfo.classType;
5007
- if (node.d.name && classType) {
5008
- const superCheckMethods = ['__init__', '__init_subclass__', '__enter__', '__exit__'];
5009
- if (superCheckMethods.some((name) => name === node.d.name.d.value)) {
5010
- if (!types_1.FunctionType.isAbstractMethod(functionType) &&
5011
- !types_1.FunctionType.isOverloaded(functionType) &&
5012
- !this._fileInfo.isStubFile) {
5013
- this._validateSuperCallForMethod(node, functionType, classType);
5014
- }
5015
- }
5081
+ if (!classTypeInfo) {
5082
+ return;
5016
5083
  }
5017
- if (((_a = node.d.name) === null || _a === void 0 ? void 0 : _a.d.value) === '__new__') {
5018
- // __new__ overrides should have a "cls" parameter.
5019
- if (node.d.params.length === 0 ||
5020
- !node.d.params[0].d.name ||
5021
- !['cls', '_cls', '__cls', '__mcls', 'mcls', 'mcs', 'metacls'].some((name) => node.d.params[0].d.name.d.value === name)) {
5022
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.newClsParam(), node.d.params.length > 0 ? node.d.params[0] : node.d.name);
5023
- }
5024
- if (classType) {
5025
- this._validateClsSelfParamType(node, functionType, classType, /* isCls */ true);
5084
+ const classType = classTypeInfo.classType;
5085
+ const methodName = node.d.name.d.value;
5086
+ const isMetaclass = (0, typeUtils_1.isInstantiableMetaclass)(classType);
5087
+ const superCheckMethods = ['__init__', '__init_subclass__', '__enter__', '__exit__'];
5088
+ if (superCheckMethods.includes(methodName)) {
5089
+ if (!types_1.FunctionType.isAbstractMethod(functionType) &&
5090
+ !types_1.FunctionType.isOverloaded(functionType) &&
5091
+ !this._fileInfo.isStubFile) {
5092
+ this._validateSuperCallForMethod(node, functionType, classType);
5026
5093
  }
5027
5094
  }
5028
- else if (((_b = node.d.name) === null || _b === void 0 ? void 0 : _b.d.value) === '_generate_next_value_') {
5095
+ const selfNames = ['self', '_self', '__self'];
5096
+ const clsNames = ['cls', '_cls', '__cls'];
5097
+ const clsNamesMetaclass = ['__mcls', 'mcls', 'mcs', 'metacls'];
5098
+ if (methodName === '_generate_next_value_') {
5029
5099
  // Skip this check for _generate_next_value_.
5100
+ return;
5030
5101
  }
5031
- else if (types_1.FunctionType.isStaticMethod(functionType)) {
5032
- // Static methods should not have "self" or "cls" parameters.
5033
- if (node.d.params.length > 0 && node.d.params[0].d.name) {
5102
+ if (methodName === '__new__') {
5103
+ // __new__ overrides should have a "cls" parameter.
5104
+ if (node.d.params.length === 0 || !node.d.params[0].d.name) {
5105
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.newClsParam(), node.d.name);
5106
+ }
5107
+ else {
5034
5108
  const paramName = node.d.params[0].d.name.d.value;
5035
- if (paramName === 'self' || paramName === 'cls') {
5036
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.staticClsSelfParam(), node.d.params[0].d.name);
5109
+ if (!clsNames.includes(paramName) && !(isMetaclass && clsNamesMetaclass.includes(paramName))) {
5110
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.newClsParam(), node.d.params[0]);
5037
5111
  }
5038
5112
  }
5113
+ this._validateClsSelfParamType(node, functionType, classType, /* isCls */ true);
5114
+ return;
5115
+ }
5116
+ if (types_1.FunctionType.isStaticMethod(functionType)) {
5117
+ if (node.d.params.length === 0 || !node.d.params[0].d.name) {
5118
+ return;
5119
+ }
5120
+ // Static methods should not have "self" or "cls" parameters.
5121
+ const paramName = node.d.params[0].d.name.d.value;
5122
+ if (paramName === 'self' || paramName === 'cls') {
5123
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.staticClsSelfParam(), node.d.params[0].d.name);
5124
+ }
5125
+ return;
5039
5126
  }
5040
- else if (types_1.FunctionType.isClassMethod(functionType)) {
5127
+ if (types_1.FunctionType.isClassMethod(functionType)) {
5041
5128
  let paramName = '';
5042
5129
  if (node.d.params.length > 0 && node.d.params[0].d.name) {
5043
5130
  paramName = node.d.params[0].d.name.d.value;
5044
5131
  }
5045
- // Class methods should have a "cls" parameter. We'll exempt parameter
5046
- // names that start with an underscore since those are used in a few
5047
- // cases in the stdlib pyi files.
5048
- if (paramName !== 'cls') {
5049
- if (!this._fileInfo.isStubFile || (!paramName.startsWith('_') && paramName !== 'metacls')) {
5050
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.classMethodClsParam(), node.d.params.length > 0 ? node.d.params[0] : node.d.name);
5051
- }
5052
- }
5053
- if (classType) {
5054
- this._validateClsSelfParamType(node, functionType, classType, /* isCls */ true);
5132
+ // Class methods should have a "cls" parameter.
5133
+ if (!clsNames.includes(paramName) && !(isMetaclass && clsNamesMetaclass.includes(paramName))) {
5134
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.classMethodClsParam(), node.d.params.length > 0 ? node.d.params[0] : node.d.name);
5055
5135
  }
5136
+ this._validateClsSelfParamType(node, functionType, classType, /* isCls */ true);
5137
+ return;
5056
5138
  }
5057
- else {
5058
- const decoratorIsPresent = node.d.decorators.length > 0;
5059
- const isOverloaded = types_1.FunctionType.isOverloaded(functionType);
5060
- // The presence of a decorator can change the behavior, so we need
5061
- // to back off from this check if a decorator is present. An overload
5062
- // is a decorator, but we'll ignore that here.
5063
- if (isOverloaded || !decoratorIsPresent) {
5064
- let paramName = '';
5065
- let firstParamIsSimple = true;
5066
- if (node.d.params.length > 0) {
5067
- if (node.d.params[0].d.name) {
5068
- paramName = node.d.params[0].d.name.d.value;
5069
- }
5070
- if (node.d.params[0].d.category !== 0 /* ParamCategory.Simple */) {
5071
- firstParamIsSimple = false;
5072
- }
5139
+ const decoratorIsPresent = node.d.decorators.length > 0;
5140
+ const isOverloaded = types_1.FunctionType.isOverloaded(functionType);
5141
+ // The presence of a decorator can change the behavior, so we need
5142
+ // to back off from this check if a decorator is present. An overload
5143
+ // is a decorator, but we'll ignore that here.
5144
+ if (isOverloaded || !decoratorIsPresent) {
5145
+ let paramName = '';
5146
+ let firstParamIsSimple = true;
5147
+ if (node.d.params.length > 0) {
5148
+ if (node.d.params[0].d.name) {
5149
+ paramName = node.d.params[0].d.name.d.value;
5073
5150
  }
5074
- // Instance methods should have a "self" parameter.
5075
- if (firstParamIsSimple && paramName !== 'self') {
5076
- // Special-case metaclasses, which can use "cls" or several variants.
5077
- let isLegalMetaclassName = false;
5078
- if (['cls', 'mcls', 'mcs'].some((name) => name === paramName)) {
5079
- const classTypeInfo = this._evaluator.getTypeOfClass(classNode);
5080
- const typeType = this._evaluator.getBuiltInType(classNode, 'type');
5081
- if (typeType &&
5082
- (0, types_1.isInstantiableClass)(typeType) &&
5083
- classTypeInfo &&
5084
- (0, types_1.isInstantiableClass)(classTypeInfo.classType)) {
5085
- if ((0, typeUtils_1.derivesFromClassRecursive)(classTypeInfo.classType, typeType, /* ignoreUnknown */ true)) {
5086
- isLegalMetaclassName = true;
5087
- }
5088
- }
5089
- }
5090
- // Some typeshed stubs use a name that starts with an underscore to designate
5091
- // a parameter that cannot be positional.
5092
- const isPrivateName = SymbolNameUtils.isPrivateOrProtectedName(paramName);
5093
- if (!isLegalMetaclassName && !isPrivateName) {
5094
- this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.instanceMethodSelfParam(), node.d.params.length > 0 ? node.d.params[0] : node.d.name);
5095
- }
5151
+ if (node.d.params[0].d.category !== 0 /* ParamCategory.Simple */) {
5152
+ firstParamIsSimple = false;
5096
5153
  }
5097
5154
  }
5098
- if (classType) {
5099
- this._validateClsSelfParamType(node, functionType, classType, /* isCls */ false);
5155
+ // Instance methods should have a "self" parameter.
5156
+ if (firstParamIsSimple && !selfNames.includes(paramName)) {
5157
+ const isLegalMetaclassName = isMetaclass && clsNames.includes(paramName);
5158
+ // Some typeshed stubs use a name that starts with an underscore to designate
5159
+ // a parameter that cannot be positional.
5160
+ const isPrivateName = SymbolNameUtils.isPrivateOrProtectedName(paramName);
5161
+ if (!isLegalMetaclassName && !isPrivateName) {
5162
+ this._evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportSelfClsParameterName, localize_1.LocMessage.instanceMethodSelfParam(), node.d.params.length > 0 ? node.d.params[0] : node.d.name);
5163
+ }
5100
5164
  }
5101
5165
  }
5166
+ this._validateClsSelfParamType(node, functionType, classType, /* isCls */ false);
5102
5167
  }
5103
5168
  // Determines whether the method properly calls through to the same method in all
5104
5169
  // parent classes that expose a same-named method.